hdu 2895 01背包 Robberies】的更多相关文章

Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24462    Accepted Submission(s): 9037 Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that…
hdu 1203  01背包  I need a offer 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203 题目大意:给你每个学校得到offer的概率以及花费,给定money,求得到至少一份offer的最大概率. 简单的01背包 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ],p[]; int n,m; ];…
http://acm.hdu.edu.cn/showproblem.php?pid=2955 如果认为:1-P是背包的容量,n是物品的个数,sum是所有物品的总价值,条件就是装入背包的物品的体积和不能超过背包的容量1-P. 在这个条件下,让装入背包的物品的总价值,也就是bag[i].[v]的和最大 bag.v是每一件物品的价值,bag.p是每件物品的体积 像上面这样想是行不通的.下面有解释 这道题麻烦的是概率这东西没法用个循环表示出来,根据我以往的经验,指望着把给出的测试数据乘上一百或者一万这种…
http://acm.hdu.edu.cn/showproblem.php?pid=1864 New~ 欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院关于2015年杭电ACM暑期集训队的选拔 最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 18562    Accepted Submission(s): 5459…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1171 许多有价值的物品,有重复.问如何将他们分成两堆,使两堆价值之差最小. 对价值求和,转换成01背包,做一次,相当于一堆选物品使得最接近一半.然后这个结果和用价值和作差的结果就是两堆的价值,此时价值只差最小. #include <algorithm> #include <iostream> #include <iomanip> #include <cstring&g…
http://acm.hdu.edu.cn/showproblem.php?pid=2639 01背包第k优解,把每次的max分步列出来即可 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct Node { int price; int val; }node[]; int main() { int T; scanf("%d",&…
http://acm.hdu.edu.cn/showproblem.php?pid=1171 基础的01背包,求出总值sum,背包体积即为sum/2 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; ],bao[]; int main() { int sum,i,j,k,m,n,a; while(scanf("%d",&n)!=EOF)…
http://acm.hdu.edu.cn/showproblem.php?pid=2546 经典的01背包 预留5元买最贵的,剩余的就是01背包. #include<stdio.h> #include<algorithm> #include<string.h> using namespace std; int main() { ],bao[],i,j,n,m,ma; while(~scanf("%d",&n),n) { memset(bao…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1171 题意 老师有一个属性:价值(value).在学院里的老师共有n种价值,每一种价值value对应着m个老师,说明这m个老师的价值都为value.现在要将这些老师从人数上平分成两个院系,并且希望平分后两个院系老师的总价值A和B应尽可能地相等,求A和B的值(A>=B). 思路 由于每种老师的个数是有限的,所以使用多重背包解决.由于测试数据不是很严格,所以使用01背包也可以通过. 代码 01背包: #…
Buy the souvenirs Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1886    Accepted Submission(s): 699 Problem Description When the winter holiday comes, a lot of people will have a trip. Genera…
Bone Collector II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3718    Accepted Submission(s): 1903 Problem Description The title of this problem is familiar,isn't it?yeah,if you had took par…
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 48364 Accepted Submission(s): 16581 Problem Description Nowadays, we all know that Computer College is the biggest department in H…
题目链接: id=3211">poj3211  hdu1171 这个题目比1711难处理的是字符串怎样处理,所以我们要想办法,自然而然就要想到用结构体存储.所以最后将全部的衣服分组,然后将每组时间减半,看最多能装多少.最后求最大值.那么就非常愉快的转化成了一个01背包问题了... . hdu1711是说两个得到的价值要尽可能的相等.所以还是把全部的价值分为两半.最后01背包,那么这个问题就得到了解决.. 题目: Washing Clothes Time Limit: 1000MS   Me…
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 24321    Accepted Submission(s): 8562 Problem Description Nowadays, we all know that Computer College is the biggest department…
转自:http://blog.csdn.net/liuqiyao_01/article/details/8753686 题意:这是又是一道01背包的变体,题目要求选出一些牛,使smartness和funness值的和最大,而这些牛有些smartness或funness的值是负的,还要求最终的smartness之和以及funness之和不能为负. 这道题的关键有两点:一是将smartness看作花费.将funness看作价值,从而转化为01背包:二是对负值的处理,引入一个shift来表 示“0”,…
饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16453    Accepted Submission(s): 5721 Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法…
最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21113    Accepted Submission(s): 6326 Problem Description 现 有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发 票上,单项物品…
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23039    Accepted Submission(s): 9230 Problem Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了.要申请国外的任何大学,你都要交…
给出物品数量N和总钱数M 对于N个物品.每一个物品有其花费p[i], 特殊值q[i],价值v[i] q[i] 表示当手中剩余的钱数大于q[i]时,才干够买这个物品 首先对N个物品进行 q-p的排序,表示差额最小的为最优.优先考虑放入这个物品 然后01背包计算 #include "stdio.h" #include "string.h" #include "algorithm" using namespace std; int inf=0x3f3f…
题意:给出n个物品的价值和数目,将这一堆物品分给A,B,问怎样分使得两者的价值最接近,且A的要多于B 第一次做的时候,没有思路---@_@ 因为需要A,B两者最后的价值尽可能接近,那么就可以将背包的容量转化为sum/2来做,然后按照01背包的做法来做 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 500005 using names…
这题题意有点坑阿.感觉特别模糊. 我开始有一点没理解清楚.就是报销的话是整张整张支票报销的.也是我傻逼了 没一点常识 还有一点就是说单张支票总额不超过1000,每张支票中单类总额不超过600,我开始以为是题目数据会这样给. 没想到还要自己判断 并且不符合条件的支票要直接舍去.- -.只能怪自己题目做少了.   没事还是好好刷题.   纵使别人放弃 我也不允许自己放弃 这题的输入数据全部都是2位小数,可以直接化为整数处理 然后就是裸的01背包了 #include<iostream> #inclu…
最近,我去了一个古老的国家.在很长一段时间里,它是世界上最富有.最强大的王国.结果,这个国家的人民仍然非常自豪,即使他们的国家不再那么富有.商人是最典型的,他们每个人只卖一件商品,价格是Pi,但是如果你的钱少于Qi,他们就会拒绝和你交易,而我评估每件商品的价值Vi.如果他有M单位的钱,iSea能得到的最大值是多少? 输入 在输入中有几个测试用例.每个测试用例以两个整数N M(1≤N≤500,1≤M≤5000)开始,表示项目编号和初始资金.接着N行,每一行包含3个数字Pi, Qi和Vi(1≤Pi≤…
题意: 01背包,找出第k最优解 题解: 对于01背包最优解我们肯定都很熟悉 第k最优解的话也就是在dp方程上加一个维度来存它的第k最优解(dp[i][j]代表,体积为i能获得的第j最大价值) 对于每一个物品只有两种选择情况 1.把这个物品加入背包 2.不要这个物品 那么它的前k种最优解也是由n种物品的这两个选择组成的 假设总体积是4,现在有两种物品,求第2最大值 1.体积1,价值3 2.体积1,价值2 最开始dp状态: 体积:   1  2  3  4 第1最大值:0  0  0  0 第2最…
Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10933    Accepted Submission(s): 4049 Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that…
http://acm.hdu.edu.cn/showproblem.php?pid=1171 题意:给出一系列的价值,需要平分,并且尽量接近. 思路:0—1背包问题. 0-1背包问题也就是有n种物品且每种只有一个.第i个物品的体积为vi,重量为wi.选择一些物品装到背包中,使得体积不超过背包的前提下重量尽可能大. 用f(i,j)表示“把前i个物品装到容量为j的背包中的最大总重量,其状态转移方程就是: f(i,j)=max{ f(i-1,j),f(i-1,j-v[i])+w[i] } 所以在第i个…
Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15649    Accepted Submission(s): 5747 Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that…
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34556    Accepted Submission(s): 11986 Problem Description Nowadays, we all know that Computer College is the biggest departmen…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1203 I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33303    Accepted Submission(s): 13470 Problem Description Speakless很早就想出国,现在…
http://acm.hdu.edu.cn/showproblem.php?pid=3466 http://www.cnblogs.com/andre0506/archive/2012/09/20/2695841.html 这道题多了一个限制条件Qi,低于Qi时不能购买. 解题思路是看更新量,因为限制条件限制的是更新量. 比如一个物品是5 9,一个物品是5 6,对第一个进行背包的时候只有dp[9],dp[10],…,dp[m],再对第二个进行背包的时候,如果是普通的,应该会借用前面的dp[8],…
http://acm.hdu.edu.cn/showproblem.php?pid=3466 有两个物品P,Q,V分别为 3 5 6, 5 10 5,如果先dp第一个再dp第二个,背包容量至少要为3+10=13,如果先dp第二个再dp第一个,背包容量至少要为5+5=10.即背包容量为Pi+Qj.显然,要让背包容量越大的先dp,这样能够保证后面的尽可能可以dp.所以要排序. 参考博客: [1]:http://blog.csdn.net/hy1405430407/article/details/44…