POJ 3265 DP
来源:互联网 发布:电波消逝之日 知乎 编辑:程序博客网 时间:2024/05/18 01:19
思路:
f[i][j]表示前i天能做j道题 (是做 不是做完)
if(f[i-1][k])
if(suma[j]-suma[k]+g[i-1][k]<=n)
f[i][j]=1,g[i][j]=min(g[i][j],sumb[j]-sumb[k]);
g[i][j]是转移的代价
当g[i][p]
//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n,p,A[333],B[333],suma[333],sumb[333];int g[333][333],f[333][333];int main(){ scanf("%d%d",&n,&p); for(int i=1;i<=p;i++){ scanf("%d%d",&A[i],&B[i]); suma[i]=suma[i-1]+A[i]; sumb[i]=sumb[i-1]+B[i]; } memset(g,0x3f,sizeof(g)); for(int i=0;i<=p;i++)g[i][0]=0,g[0][i]=0; f[0][0]=1; for(int i=1;;i++){ for(int j=1;j<=p;j++) for(int k=0;k<=j;k++) if(f[i-1][k]) if(suma[j]-suma[k]+g[i-1][k]<=n) f[i][j]=1,g[i][j]=min(g[i][j],sumb[j]-sumb[k]); if(g[i][p]<n){printf("%d\n",i+2);return 0;} }}
0 0
- POJ 3265 DP
- POJ 3265 DP
- poj 3265 Problem Solving dp
- poj dp
- 【dp】POJ
- 【dp】POJ
- [DP] POJ
- [DP] POJ
- [DP] POJ
- 【dp】POJ
- POJ 3670 && POJ 3671 (dp)
- 【DP】 POJ 1080
- poj 1163经典DP
- poj 1088 滑雪(DP)
- poj 1770 树形dp
- POJ 1179 Polygon(DP)
- POJ 1221 dp
- POJ 1953 DP
- JAVA从菜鸟【入门】到新手【实习】一一10月上半月总结与十月下半月规划
- ibatis的dynamicSQL中,关于prepend的使用
- Hybrid computing using a neural network with dynamic external memory(可微神经计算机)阅读
- C3P0替代hibernate管理连接池
- 读书笔记之:鸟哥Linux私房菜(基础篇)
- POJ 3265 DP
- MySql DOS中操作的常用SQL语句
- POJ 3271 BFS (大坑)
- 网桥帧的转发与转发表的建立算法
- [C++]前置声明和头文件
- TensorFlow白皮书读后感
- 停止等待协议的算法
- BZOJ 2748 DP
- BZOJ 1193 搜索+贪心