HDU1864(背包)】的更多相关文章

最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 22659    Accepted Submission(s): 6892 Problem Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价…
hdu1864 01背包 题目链接 题目大意:一堆数,找到一个最大的和满足这个和不超过Q要学会分析复杂度! #include <cstdio> #include <cstring> #define MAX(a,b) (a>b?a:b) ; int dp[N],data[N]; float bound; int n,cnt; int main(){ char type; ],tprice; while(scanf("%f%d",&bound,&…
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 Problem Description 现有一笔经费能够报销一定额度的发票.同意报销的发票类型包含买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元.现请你编敲代码,在给出的一堆发票中找出能够报销的.不超过给定额度的最大报销额.   Inpu…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 注意事项: 在这里所有输入的价格都是两位小数(题目没说,看论坛才知道的). 这里单项价格不能超过600,可能有这样的情况:2 A:300 A:400,非常坑(也是看论坛才知道的). 因为最多有30张发票,假设最多都是1000,那么数组就要开到30*1000*100+5这么大. 因为下标不可以是小数,那么可以把价格乘以100,把它变成整数. 代码: #include<iostream> #in…
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=187#problem/G 该题要注意的就是每张单子A种类的总和不能大与600,同样B,C类也一样,还有注意如果不是A,B,C类的不可以报销: 该题就是要把浮点型变成整数这样才能用01背包,这里就只要乘以100就可以了. 这题考的背包很简单,就是输入的金额为背包的容积,债券既是物体的体积又是物体的利润.就是处理输入的数据有点麻烦,这是我所不擅长的. #include <iostr…
非常裸的01背包,水题.注意控制精度 #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cstdlib> const int INF = 1e6; using namespace std; int dp[4*INF],cost[5],w[31]; int max(int x,int y) { if(x > y) re…
链接:HDU-4055:最大报销额 题意:现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单类物品的价值不得超过600元.现请你编写程序,在给出的一堆发票中找出可以报销的.不超过给定额度的最大报销额. 题解:处理出可以报销的发票的数组 a[] . 定义:dp[i] 为报销第 i 个发票的情况下报销的最大值: 状态转移:dp[i] = max( dp[i],  dp[0 ~ i-1] + a[i…
动态规划,我一直都不熟悉,因为体量不够,所以今天开始努力地学习学习. 当然背包从01开始,先选择了一个简单的经典的背包HDU2602. Many years ago , in Teddy's hometown there was a man who was called "Bone Collector". This man like to collect varies of bones , such as dog's , cow's , also he went to the grav…
题目链接:https://vjudge.net/problem/HDU-1864 题目大意: 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元.现请你编写程序,在给出的一堆发票中找出可以报销的.不超过给定额度的最大报销额.  Input 测试输入包含若干测试用例.每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发票张数.随…
DP-01背包问题例题 输入处理有点恶心人,不过处理完后就是简单的DP了 从头开始dp[i]表示从0开始到i的最优结果,最后从都边里dp数组,求得最大的报销额. 对于每个i都要从头维护最优结果.(二刷感觉仍不得dp精髓,,,,) HDU-1864最大报销额 #include <iostream> #include <queue> #include <cstdio> #include <algorithm> #include <cmath> #in…