Codevs2618 核电站问题 dp递推 n||nm
来源:互联网 发布:上帝悖论 知乎 编辑:程序博客网 时间:2024/06/05 15:33
Codevs2618 核电站问题
解法一:
设f[i][j]表示前i个坑末尾连续放了j个核物质;
#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;typedef long long LL;#define MAXN (233)LL dp[MAXN][MAXN];int main(){ LL n, m; scanf("%I64d%I64d", &n, &m); dp[1][0] = dp[1][1] = 1; for(int i = 2; i <= n; ++ i) { dp[i][0] = dp[i-1][0]; for(int j = 1; j < m; ++ j) { dp[i][j] += dp[i-1][j-1]; dp[i][0] += dp[i-1][j]; } } LL ans = 0; for(int i = 0; i <= m; ++ i) ans += dp[n][i]; cout << ans << endl; return 0;}
解法二:
http://blog.csdn.net/lengxuenong/article/details/50535192
#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;typedef long long LL;#define MAXN (233)LL dp[MAXN];int main(){ LL n, m; scanf("%I64d%I64d", &n, &m); dp[0] = 1; for(int i = 1; i <= n; ++ i) { if(i < m) dp[i] = dp[i-1]*2; else if(i == m) dp[i] = dp[i-1]*2-1; else dp[i] = dp[i-1]*2 - dp[i-m-1]; } cout << dp[n]; return 0;}
0 0
- Codevs2618 核电站问题 dp递推 n||nm
- [codevs2618] 核电站问题
- codevs2618 核电站问题——记忆化搜索,或者dp
- codevs2618 核电站问题(记忆化搜索)
- 核电站问题(递推)
- QUTOJ 1218: 核电站问题 递推
- 核电站(递推)
- 【DP基础】核电站问题
- rqnoj-105-核电站问题-dp
- zzulioj 1212核电站问题(dp)
- 核电站问题
- 核电站问题
- 核电站问题
- poj Chocolate dp递推+精度问题
- fjnu 1305 核电站问题
- 1305 核电站问题
- shu_1340 vijos_1232 核电站问题
- NEUQ 1256: 核电站问题
- hadoop提交任务过程
- JAVA -get-post-soap方式反问外部webservices
- 函数展开为幂级数
- poj--1100 Dreisam Equations(dfs)
- [SSM]springmvc 中dao层和service层的区别
- Codevs2618 核电站问题 dp递推 n||nm
- 加血加气还加神
- 半数集VS半数单集
- php结构体系与java架构体系对比
- Java 线程池框架核心代码分析--转
- Python实战小程序——计算文件的md5值
- OSGI (面向Java的动态模型系统)
- 你好,世界
- sublime text 快捷键丨工具