每次连线,起点和终点之间,每一个被点亮的点,这些点都能连出去两条线,因此可以增加的块数+2(1这个点除外,因为只有连出的点没有连进的点),计算起点和终点之间有几个点被点亮即可,然后1这个点特判一下。感觉,可以用线段树维护。。不过这题还是有规律的,每转过一圈,两线之间的点数就会加1,然后O(n)扫一遍就行了。注意答案会爆int。

  代码如下:

 #include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + ;
typedef long long ll; int n,k; int main()
{
cin >> n >> k;
k = min(k,n-k);
int add = ;
int pos = ;
ll have = ;
for(int i=;i<=n;i++)
{
if(pos + k > n + )
{
add++;
have += add;
add++;
}
else have += add;
pos += k;
if(pos > n) pos -= n;
cout << have << " ";
}
puts("");
return ;
}

最新文章

  1. asp.net中http提交数据所遇到的那些坑
  2. 从零开始调用一个手机号归属地查询API
  3. Log4j 与 Logback的ConversionPattern对比
  4. JavaScript异步机制
  5. HDU 1166 敌兵布阵 (数状数组,或线段树)
  6. show processlist
  7. iOS 设置导航栏的颜色和导航栏上文字的颜色
  8. MIRO发票校验BAPI_INCOMINGINVOICE_CREATE (2013-01-23 10:01:29)
  9. 【Todo】【读书笔记】大数据Spark企业级实战版 &amp; Scala学习
  10. Mvc多级Views目录
  11. Struts2结合sitemesh3制作网站母版页面
  12. [BZOJ 1150] [CTSC2007] 数据备份Backup 【贪心 + 链表】
  13. jq原创弹出层折叠效果
  14. 错误: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: PC
  15. AugularJS从入门到实践(一)
  16. Git使用详细教程(8):Git分支
  17. Laravel 5.7 使用 PHP artisan migrate 的问题
  18. goland 文件头自动注释
  19. FileProvider的使用及应用更新时提示:解析包出错、失败等问题
  20. ping不通公网ip时路由器设置

热门文章

  1. spring-boot-plus CORS跨域处理
  2. 7-MySQL DBA笔记-研发规范
  3. 【ES6 】ES6 解构赋值--数组解构赋值
  4. IOI2020只因训队作业胡做
  5. 每日一句 Linux, 持续精进
  6. NET如何使用ELinq-实现增删改查
  7. TensorFlow C++接口编译和使用
  8. 14.SpringMVC核心技术-类型转换器
  9. es 启动报错 内存太小
  10. 【坑】new一个对象时,tostring报空指针异常