题目链接:http://codeforces.com/problemset/problem/474/D

用RW组成字符串,要求w的个数要k个连续出现,R任意,问字符串长度为[a, b]时,字符串的种类有多少。

递推,dp[i]表示长度为i的种类有多少。当i < k的时候 dp[i] = 1 , 当i == k的时候 dp[i] = 2 ,  否则 dp[i] = dp[i - 1] + dp[i - k] 。

 #include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + ;
typedef __int64 LL;
LL mod = 1e9 + ;
LL dp[MAXN] , ans[MAXN];
int main()
{
int n , k , a , b;
scanf("%d %d" , &n , &k);
dp[] = ;
ans[] = ;
for(int i = ; i <= 1e5 ; ++i) {
if(i >= k)
dp[i] = (dp[i - k] + dp[i - ]) % mod;
else
dp[i] = ;
ans[i] = (ans[i - ] + dp[i]) % mod;
}
while(n--) {
scanf("%d %d" , &a , &b);
printf("%lld\n" , (ans[b] - ans[a - ] + mod) % mod);
}
return ;
}

最新文章

  1. Hadoop源代码中的build-main.xml
  2. 自己使用 1.C语言历史以及特点。
  3. ASP函数大全
  4. [VC6]ONMESSAGE()宏编译时出现&quot;sytax error ;&quot;错误时
  5. Windows Azure -Azure 网站、云服务和虚拟机的对比
  6. svn项目冲突时显示无法加载项目的解决方法
  7. JavaScript 中的内存和性能、模拟事件(读书笔记思维导图)
  8. C# LogHelper
  9. bzoj 4383: [POI2015]Pustynia
  10. 【WPF】学习笔记(二)——依旧是一个电子签名板
  11. grep 、find 、tree 新发现
  12. ABP文档笔记 - 规约
  13. klearn.preprocessing.PolynomialFeatures学习
  14. json 函数
  15. linux设置打开文件句柄数
  16. [android] 获取系统的联系人信息
  17. wx事件处理二
  18. [机器学习]SVM---硬间隔最大化数学原理
  19. 1200 同余方程 2012年NOIP全国联赛提高组
  20. KVM安装和配置

热门文章

  1. Java 比较两张图片的相似度
  2. hdu 1559 最大子矩阵 (简单dp)
  3. Alpha、Beta、RC、GA版本的区别
  4. LA 3295 (计数 容斥原理) Counting Triangles
  5. Jqgrid demo-史上最强大,没有之一
  6. Codeforces Round #269 (Div. 2)
  7. NoSQL 数据库系统对比
  8. Android Studio 我常用快捷键
  9. 封装Log工具类
  10. vs2013编译boost库