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