(递归)P1192 台阶问题
2024-09-04 21:53:55
题解:
这其实是变相的斐波那契,观察下列等式:
//k=2 : 1 2 3 5 8 13 21 34......
//k=3 : 1 2 4 7 13 24 44 81...
//k=4 : 1 2 4 8 15 29 56 108...
//k=5 : 1 2 4 8 16 31 61 120...
我们不难发现当n<=k时第N项=(上一项*2)%100003,当n>k时第N项=(上一项*2-第n-1-k项)%100003; 所以递推式就是f(x)=x<=n?f(x-1)*2:f(x-1)*2-f(x-1-k);
#include<iostream>
using namespace std;
using namespace std;
int main()
{
int N,K;
cin>>N>>K;
int f[N+1]={0};
f[1]=1,f[0]=1;
int i=2;
while(i<=N){
if(i<=K){
f[i]=f[i-1]*2%100003;
}else{
f[i]=(f[i-1]*2-f[i-1-K]+100003/*防止负数产生,我因为他WA了一次*/)%100003; //这里要小心负数的出现
}
i++;
}
cout<<f[N]<<endl;
return 0;
}
{
int N,K;
cin>>N>>K;
int f[N+1]={0};
f[1]=1,f[0]=1;
int i=2;
while(i<=N){
if(i<=K){
f[i]=f[i-1]*2%100003;
}else{
f[i]=(f[i-1]*2-f[i-1-K]+100003/*防止负数产生,我因为他WA了一次*/)%100003; //这里要小心负数的出现
}
i++;
}
cout<<f[N]<<endl;
return 0;
}
最新文章
- jquery中$.ajax方法提交表单
- 【转】Handler学习笔记(一)
- 《HelloGitHub月刊》第01期
- (转)如何构建高性能,稳定SOA应用之-负载均衡-Decoupled Invocation(一)
- asp.net中Session过期设置方法
- [Irving]SqlServer 标量函数 详解【转】
- pip使用国内镜像/源的方法
- (转)mq经验总结-转
- 【JavaWeb】图书管理系统【总结】
- Spring异步调用原理及SpringAop拦截器链原理
- laravel zh-CN
- VS 错误: 未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService
- zabbix/自动发现规则
- AOJ 0005 GCD and LCM
- PostgreSQL+PostGIS安装以及使用
- 洛谷P2362 围栏木桩----dp思路
- java降低竞争锁的一些方法
- 【Java初探01】——Java简介及相关
- mysql 导出数据时进行压缩
- Python进阶 学习笔记(一)
热门文章
- YUV图解 (YUV444, YUV422, YUV420, YV12, NV12, NV21)
- k8s 各种网络方案【转】
- oracle练习-day04
- C# log4net相关配置说明
- Day6 - D - Tree 园丁的烦恼 HYSBZ - 1935
- centos7下安装maven
- class(二)--派生类的继承
- 关于js中异步问题的解决方案
- java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合
- 重装系统,新安装IDEA启动项目后,classnotfound:com.mysql.jdbc.Driver