2224Investment——zoj
来源:互联网 发布:四度空间软件 编辑:程序博客网 时间:2024/05/29 14:51
债券可以无限购买 94一个完全背包
但是计算出来 发现空间如果开成数组 绝对mle
他说xi和n都是1000倍数
就用 dp[i]表示 i*1000个空间所获得最大价值就好
有一个小优化
对于每一年重新购买的债券
可以定义一个start 和 end
表示当前年限的起始空间 和 最大空间
start就是上一个end
end就是end加上在上一个end下获得的价值
但是计算出来 发现空间如果开成数组 绝对mle
他说xi和n都是1000倍数
就用 dp[i]表示 i*1000个空间所获得最大价值就好
有一个小优化
对于每一年重新购买的债券
可以定义一个start 和 end
表示当前年限的起始空间 和 最大空间
start就是上一个end
end就是end加上在上一个end下获得的价值
就可以实现优化
#include<iostream>#include<cstdio>#include<cstring>#define MAXN 50000+10using namespace std;int t,n,y,d;int a[MAXN];//前i*1000空间 最大价值 int v[20];int w[20];int st,en;void readdata(){memset(a,0,sizeof(a));scanf("%d%d%d",&n,&y,&d);for(int i=1;i<=d;i++)scanf("%d%d",&v[i],&w[i]);st=1*1000;en=n;}void solve(){for(int i=1;i<=d;i++)for(int j=st;j/1000<=en/1000;j+=1000){if(j-v[i]<0)continue;a[j/1000]=max(a[j/1000],a[(j-v[i])/1000]+w[i]);}}int main(){scanf("%d",&t);for(int tt=1;tt<=t;tt++){readdata();for(int i=1;i<=y;i++){solve();st=en;en=en+a[en/1000];}printf("%d\n",en);}}
0 0
- 2224Investment——zoj
- ZOJ 2224 Investment
- zoj 2224 - Investment
- poj 2063& zoj 2224 Investment
- poj 2063 Investment ( zoj 2224 Investment ) 完全背包
- ZOJ 2224 Investment (完全背包)
- poj2063——investment
- zoj 2224 || poj 2063 Investment(完全背包!)
- poj 2063& zoj 2224 Investment (多次完全背包)
- Investment
- poj——2063——Investment(dp)
- [每天读一点英文:那些给我勇气的句子]the master of investment—Warren Buffett
- ZOJ——5013
- zoj july— 小记
- ZOJ—2610
- dmabounce investment
- poj2063 - Investment
- poj2063 Investment
- 使用Allegro绘制PCB板——手工创建电路板
- Android NDK开发入门-访问Java中的域
- PCI卡的PCB布线规则
- hdu_2037_今年暑假不AC(贪心算法)
- 链路与数据链路以及帧
- 2224Investment——zoj
- 用初次训练的SVM+HOG分类器在负样本原图上检测HardExample
- Linux开发环境的搭建
- 342E Xenia and Tree——codeforces
- Redis配置参数的热修改
- Mat 数据类型保存为二进制文件
- 信号完整性
- C/C++中extern关键字详解
- 1201Intervals——poj