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