题意:求投资k年获得最大投资,每年都选最大利息的方案进行投资k年后就可以得到最多的人民币。

注意:每一年收到的利息都可以作为下一年的本金......其实从测试数据来看,是很好看出来的......

思路:将每一年的“体积”加上利息就好,当然,数据太大,可以除以100减少时间和空间复杂度......

反思:很想说,这些我都想到了,但是还是wa了两次,是因为数据溢出的原因......以前就遇到这样的原因,木有想到这次我注意了,但还是出问题了......

wa代码:

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int dp[500000],s[100][2];
int main()
{
int text;
scanf("%d",&text);
while(text--)
{
int n,year;
scanf("%d%d",&n,&year);
int h,m=n/100;
scanf("%d",&h);
for(int i=1;i<=h;i++)
{
scanf("%d%d",&s[i][0],&s[i][1]);
s[i][0]/=100;
}
memset(dp,0,sizeof(dp));
int sum=0;
for(int i=1;i<=year;i++)
{ for(int j=1;j<=h;j++)
{
for(int k=s[j][0];k<=m;k++)
if(dp[k]<dp[k-s[j][0]]+s[j][1])
dp[k]=dp[k-s[j][0]]+s[j][1];
}
sum+=dp[m];
m=m+dp[m]/100; //这里数据溢出,要是上一次的m==100,dp[m]==250,这一次的dp[m]==350,那么计算出来的m==105,但是实际应该为106
}
printf("%d\n",sum+n);
}
return 0;
} ac代码: #include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int dp[600000],s[100][2];
int main()
{
int text;
scanf("%d",&text);
while(text--)
{
int n,year;
scanf("%d%d",&n,&year);
int h,m=n/100;
scanf("%d",&h);
for(int i=1;i<=h;i++)
{
scanf("%d%d",&s[i][0],&s[i][1]);
s[i][0]/=100;
}
memset(dp,0,sizeof(dp));
int sum=n;
for(int i=1;i<=year;i++)
{
m=sum/100;
for(int j=1;j<=h;j++)
{
for(int k=s[j][0];k<=m;k++)
if(dp[k]<dp[k-s[j][0]]+s[j][1])
dp[k]=dp[k-s[j][0]]+s[j][1];
}
sum+=dp[m]; //以后的代码要规范写,可以在前面处理了的值不要留在后面处理.......
}
printf("%d\n",sum);
}
return 0;
}

dp之完全背包poj2063的更多相关文章

  1. hdu1114 Piggy-Bank (DP基础 完全背包)

    链接:Piggy-Bank 大意:已知一只猪存钱罐空的时候的重量.现在的重量,已知若干种钱的重量和价值,猪里面装着若干钱若干份,求猪中的钱的价值最小值. 题解: DP,完全背包. g[j]表示组成重量 ...

  2. 单调队列优化DP,多重背包

    单调队列优化DP:http://www.cnblogs.com/ka200812/archive/2012/07/11/2585950.html 单调队列优化多重背包:http://blog.csdn ...

  3. Codevs1378选课[树形DP|两种做法(多叉转二叉|树形DP+分组背包)---(▼皿▼#)----^___^]

    题目描述 Description 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修 ...

  4. POJ3211 Washing Clothes[DP 分解 01背包可行性]

    Washing Clothes Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 9707   Accepted: 3114 ...

  5. HD1561The more, The Better(树形DP+有依赖背包)

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  6. [HDOJ5543]Pick The Sticks(DP,01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:往长为L的线段上覆盖线段,要求:要么这些线段都在L的线段上,要么有不超过自身长度一半的部分 ...

  7. zoj3623 Battle Ships ——完全背包?简单DP!|| 泛化背包

    link:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3623 看起来像完全背包,但是物品价值是变化的,所以很多人搞的很复 ...

  8. poj 2184 Cow Exhibition(dp之01背包变形)

    Description "Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - ...

  9. hdoj1010Starship Troopers (树dp,依赖背包)

    称号:hdoj1010Starship Troopers 题意:有一个军队n个人要占据m个城市,每一个城市有cap的驻扎兵力和val的珠宝,并且这m个城市的占率先后具有依赖关系,军队的每一个人能够打败 ...

随机推荐

  1. 关于导出数据库提示 outfile disabled的解决方案

    使用命令mysqldump进行导出数据到本地磁盘,执行该命令的时候不要进入mysql的控制台再使用,这样会报outfiledisabled错误.而是直接使用MYSQL/bin目录下的mysqldump ...

  2. 【转】6 Reasons Why JavaScript’s Async/Await Blows Promises Away (Tutorial)

    原文:https://hackernoon.com/6-reasons-why-javascripts-async-await-blows-promises-away-tutorial-c7ec105 ...

  3. WordPress 禁用文章修订和自动保存的方法

    以下代码亲测并没有效果,不能禁用自动保存  /* 移除自动保存和修订版本 */ remove_action('pre_post_update', 'wp_save_post_revision' ); ...

  4. QQ互联简单例子,七彩花都提供

    QQ互联简单例子 源码由七彩花都论坛提供 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  5. VMware - "Determining IP Information for eth0...Failed

    Linux ifup eth0 出现错误: Dertermining IP information for eth0....failed - no link present check cable D ...

  6. vue + 百度地图api

    主要分解为如下步骤: (1)在html文件中引入百度地图, <script type="text/javascript" src="http://api.map.b ...

  7. libsvm处理多分类的问题

    SVM是一个二分类器,当遇到多类别的时候,一般采取如下两种策略. a.一对多法(one-versus-rest,简称1-v-r SVMs).训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类 ...

  8. DBMS_METADATA中使用SESSION_TRANSFORM过滤不想获取的DDL

    我们一般使用dbms_metadata.get_ddl获取对象的ddl的时候,有时会获取一些其它额外的信息,比如当你想获取表的创建语句的时候,你会得到表的约束信息,这个信息可能是你不想要的,那么就能够 ...

  9. 【Linux】(2013-7-19)配置tftp与开发板传送文件

    1. 安装必须软件 sudo apt-get install -y xinetd tftp-hpa 2. 修改配置文件 vi /etc/default/tftpd-hpa # /etc/default ...

  10. 查询MYSQl数据表中的最后一条记录

    mysql: select * from table order by id DESC limit 1 oracle: select * from emp where id in (select ma ...