https://codeforces.com/problemset/problem/474/D

这道题挺好的,思路是这样。

我们要找一个01串,其中0的段要被划分为若干个连续k的0。

我们设想一个长度为n的合法串是怎么被构造出来的,要么是上一个合法串后面直接连接1,要么是上一个合法串后面连接k个连续的0,那么每个0一一对应于一段连续的0。

所以dp[i]=dp[i-1]+dp[i-k]。

想出来就觉得不难了。

#include<bits/stdc++.h>
using namespace std;
#define ll long long int t,k;
int a,b; int dp[];
int sum[]; int main(){
scanf("%d%d",&t,&k);
for(int i=;i<=k-;i++){
dp[i]=;
}
dp[k]=;
for(int i=k+;i<=;i++){
dp[i]=(dp[i-]+dp[i-k])%;
} for(int i=;i<=;i++){
sum[i]=(sum[i-]+dp[i])%;
} for(int i=;i<t;i++){
scanf("%d%d",&a,&b);
printf("%d\n",(sum[b]-sum[a-]+)%);
}
}

最新文章

  1. OPENVPN
  2. WCF两种方式
  3. McAfee Host Intrusion Prevention
  4. cl: cannot open file &#39;kernel32.lib&#39;
  5. Html 小插件5 百度搜索代码2
  6. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
  7. Google maps API开发
  8. 2015.07.12hadoop伪分布安装
  9. java中Scanner类nextLine()和next()的区别和使用方法
  10. log4j到log4j2升级迁移方案
  11. VUE插件大总结
  12. 15_Raid及mdadm命令 _LVM
  13. openstack 王者归来学习笔记
  14. Android 去掉ScrollView、GridView、ListView向上 滑动时顶部的投影/阴影
  15. lodash用法系列(2),处理对象
  16. 浮动元素垂直居中,bootstrap栅格布局垂直居中
  17. Java从零开始学四十(反射简述一)
  18. [转]Vue.js 目录结构
  19. 20145316 《Java程序设计》第1周学习总结
  20. php+mysql+jquery日历签到

热门文章

  1. 三期_day05_Dao层的准备工作_II
  2. 我的c++server记录----非堵塞下的socket读取操作
  3. mongodb+php通过_id查询
  4. Ubuntu 16.04 LTS安装Eclipse配置Pydev
  5. git svn 报错
  6. adb pull 与 push
  7. sanic官方文档解析之蓝图
  8. 苹果应用内支付(iOS IAP)的流程与常用攻击方式
  9. hibernate面试点
  10. safi 中placeholder不垂直居中