转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=2184">http://poj.org/problem?id=2184 Description "Fat and docile, big and dumb, they look so stupid, they aren't much  fun..."  - Cows with Guns by Dana Lyons  The cows want to prove to the…
题目链接:https://vjudge.net/contest/103424#problem/G 题目大意: 给出N头牛,每头牛都有智力值和幽默感,然后,这个题目最奇葩的地方是,它们居然可以是负数!!现在叫你求出其中的牛中,智力值总数和幽默感总数加起来最大的值,当然,智力值的总数必须大于等于零,幽默感总数也是. 解题思路: 转载于>>>大牛博客 对于每头牛,我们有两种选择,要么选,要么不选.看到这,就会觉得跟01背包很像,但是有 2 个变量来描述此状态的特征,智力,幽默感,并且他们可能是…
POJ-2184 [题意]: 有n头牛,每头牛有自己的聪明值和幽默值,选出几头牛使得选出牛的聪明值总和大于0.幽默值总和大于0,求聪明值和幽默值总和相加最大为多少. [分析]:变种的01背包,可以把幽默度看成体积,智商看成价值,那么就转换成求体积和价值都为正值的最大值的01背包了. 以 TS 作为体积,TF作为价值,在保证体积.价值非负的情况下,求解 sum,取其所有情况的最大值. 难点: 1)体积出现负数,将区间改变 [-100000, 100000] ---> [0, 200000]. (注…
Cow Exhibition Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10882   Accepted: 4309 Description "Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - Cows with Guns by Dana Lyons The cows want to prove to…
题目大意: 输入n 接下来n行 每行输入 a b 输出n行中 a+b总和最大的同时满足 所有a总和>=0所有b总和>=0的值 负数的01背包应该反过来 w[i]为正数时 需要从大往小推 即往0推 w[i]为负数时 同样应该往0推 即与正数反过来 #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; ],f[],dp[**+]; int main() { int n; while(~scanf(&qu…
题意:有n个奶牛,每个奶牛有一个smart值和一个fun值,可能为正也可能为负,要求选出n只奶牛使他们smart值的和s与fun值得和f都非负,且s+f值要求最大. 分析: 一道很好的背包DP题,我们将smart值当作物品的体积,将fun值当作物品的价值,每个物品只能取一次,我们求对于每个背包体积求恰好装满该体积时价值和的最大值,也就是当所选奶牛smart值为某个值时,fun值的和的最大值.然后对于每个非负背包体积(smart值的和),判断对应最大价值(fun值的和)是否非负,如果非负说明这是一…
"Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - Cows with Guns by Dana Lyons The cows want to prove to the public that they are both smart and fun. In order to do this, Bessie has organized an exhibition that will…
题目http://poj.org/problem?id=2184 分析:给定N头牛,每头牛都有各自的Si和Fi 从这N头牛选出一定的数目,使得这些牛的 Si和Fi之和TS和TF都有TS>=0 FS>=0并TS+FS 达到最大值. 这是一个背包问题.可以将Si和Fi一个当作是 背包容量,另一个当作是价值.  但是-1000<=Si<=1000出现了负值,采用的处理方式 一共100组数,从-1000到1000,那么体积的范围就是-100*1000到100*1000. 平移之后我们要处理…
Cow Exhibition Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10949 Accepted: 4344 Description "Fat and docile, big and dumb, they look so stupid, they aren't much fun-" - Cows with Guns by Dana Lyons The cows want to prove to the pu…
题目大意:已知c[i]...c[n]及f[i]...f[n],现要选出一些i,使得当sum{c[i]}和sum{f[i]}均非负时,sum(c[i]+f[i])的最大值. 以sum(c[i])(c[i]>=0)作为背包容量totV,i当作物体,c[i]当作物体体积,f[i]当作物体重量,01背包后,求max{j+DP[j]} (非负)即可. 注意: 这里物体体积存在负数,所以循环j时起始条件不能为j=0!而应当在for下面加if,判断子问题在minJ~maxJ范围之内. 初值不是DP[最左端点]…