POJ 3046 DP
来源:互联网 发布:linux tar绝对路径 编辑:程序博客网 时间:2024/06/01 07:16
题意:
思路:先说O(A^2T)的做法
f[i][j]表示前i个家族选j个蚂蚁的方案数 f[i][j]+=f[i-1][k] j-vis[i]<=k<=j
然后前缀和优化一哈 就成O(AT)的了
我们发现空间还是会炸 这样子就压掉一维好了 空间是O(A)的
嗯就酱
//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int T,A,S,B,f[100005],sum[1000*105],vis[1005],jy,ans;int main(){ scanf("%d%d%d%d",&T,&A,&S,&B); for(int i=1;i<=A;i++){ scanf("%d",&jy); vis[jy]++; } f[0]=1; for(int i=1;i<=A+1;i++)sum[i]=1; for(int i=1;i<=T;i++){ for(int j=1;j<=A;j++) f[j]=(sum[j+1]-sum[max(j-vis[i],0)])%1000000; for(int j=1;j<=A;j++)sum[j+1]=sum[j]+f[j]; } for(int i=S;i<=B;i++){ ans=(ans+f[i])%1000000; } printf("%d\n",ans);}
0 0
- Poj 3046(dp)
- POJ 3046 DP
- poj 3046 数蚂蚁 dp
- POJ 3046 Ant Counting dp
- poj dp
- 【dp】POJ
- 【dp】POJ
- [DP] POJ
- [DP] POJ
- [DP] POJ
- 【dp】POJ
- POJ 3046 Ant Counting 简单DP
- POJ 3046 Ant Counting (dp)
- poj 3046 Ant Counting dp 优化
- [POJ 3046]Ant Counting[dp][优化]
- poj 3046 dp计数 展开优化
- poj 3046 Ant Counting (dp)
- POJ 3670 && POJ 3671 (dp)
- 【20.00%】【codeforces 44G】Shooting Gallery
- 选择器
- Apache 启动报错
- 机器学习系列(7)_机器学习路线图(附资料)
- C#简单游戏外挂制作(以Warcraft Ⅲ为例)
- POJ 3046 DP
- 链接鼠标
- 函数
- Linux 学习第一天之进程间的通信
- Java-collections总结
- 事件
- 选择按钮
- shared_ptr和weak_ptr智能指针结合使用的一个实例
- 循环(北理)