pku 2148 Cow Exhibition
来源:互联网 发布:碧缇福骗局 知乎 编辑:程序博客网 时间:2024/06/14 18:29
2184 Cow Exhibition 0-1背包问题变形,选定一个值作状态后,另一值可被标识。如果有更多信息需记录(信息量-1)的数组应该可以的。http://acm.pku.edu.cn/JudgeOnline/problem?id=1717 Dominos这道题也是一道类似的题目,
还可以用搜索来做。把有利的值统统加入,同时记下可能使不符合的元素,做一次排除,找到正确的最优值。
0-1背包有时(分堆)可以用随机贪心来做的,大致思路是从多的一堆中随机一个放入少的一堆中。
#include <iostream>
#define N 101
using namespace std;
int f[N],s[N];
int n,num;
int total;
int tF,tS;
int findProper(int a,int b,int idx)
{
if (a>=0 && b>=0)
{
if (a + b >total)
total = a + b;
return a+b;
}
if (idx>=num || a + b < total)
return 0;
int i = findProper(a,b,idx+1);
int j = findProper(a+f[idx],b+s[idx],idx+1);
return max(i,j);
}
int main()
{
int i;
scanf("%d",&n);
total = tF = tS = num = 0;
int a,b;
for (i=0; i<n; ++i)
{
scanf("%d%d",&a,&b);
if (a>=0 && b>=0)
{
total += a+b;
tF += a;
tS += b;
}
else if (a * b <=0)
{
if(a + b > 0)
{
tF += a;
tS += b;
a = -a;
b = -b;
}
f[num]=a;
s[num]=b;
++num;
}
}
printf("%d ",findProper(tF,tS,0));
}
#define N 101
using namespace std;
int f[N],s[N];
int n,num;
int total;
int tF,tS;
int findProper(int a,int b,int idx)
{
if (a>=0 && b>=0)
{
if (a + b >total)
total = a + b;
return a+b;
}
if (idx>=num || a + b < total)
return 0;
int i = findProper(a,b,idx+1);
int j = findProper(a+f[idx],b+s[idx],idx+1);
return max(i,j);
}
int main()
{
int i;
scanf("%d",&n);
total = tF = tS = num = 0;
int a,b;
for (i=0; i<n; ++i)
{
scanf("%d%d",&a,&b);
if (a>=0 && b>=0)
{
total += a+b;
tF += a;
tS += b;
}
else if (a * b <=0)
{
if(a + b > 0)
{
tF += a;
tS += b;
a = -a;
b = -b;
}
f[num]=a;
s[num]=b;
++num;
}
}
printf("%d ",findProper(tF,tS,0));
}
- pku 2148 Cow Exhibition
- pku 2184 Cow Exhibition
- pku 2184 Cow Exhibition(经典DP)
- Cow Exhibition
- Cow Exhibition
- Cow Exhibition
- Cow Exhibition
- pku2184 Cow Exhibition
- poj 2184 Cow Exhibition
- POJ 2184 Cow Exhibition
- Poj 2184 Cow Exhibition
- POJ2184-Cow Exhibition
- poj2184 Cow Exhibition
- poj 2184 Cow Exhibition
- 2184 cow exhibition
- poj 2184 Cow Exhibition
- POJ 2184 Cow Exhibition
- POJ-2184-Cow Exhibition
- pku 3414 pots
- 想不到!结束进程还有这样的妙用
- log4j配置文件,xml格式的
- 第十篇 Oracle数据库的启动与关闭
- Struts Message Resources
- pku 2148 Cow Exhibition
- 小项目的大体会
- CRC7算法代码
- 0day-java load dynamic library from any path(java加载任意目录库文件)
- 谁发明了世界上第一台电子计算机
- 浅析C#的事件处理和自定义事件[object sender , EventArgs e]
- 神华回归、嘉实海外中国股票基金创纪录
- 汉语基础试题
- CSS布局中如何组织样式表以便于简化、维护