北大ACM(POJ1015-Jury Compromise)
2024-08-30 21:12:01
Question:http://poj.org/problem?id=1015
问题点:DP。
Memory: 1352K Time: 94MS
Language: C++ Result: Accepted #include <iostream>
#include <vector>
using namespace std;
#define MAX_JURY 201
#define MAX_CHOICE 21 //人员编号从1开始
int dp[][];//21是人 840是辩控差 值是辩控和
vector<int> path[][];//值是最后一条路径
struct jury{
int minus;//辩控差
int sum;//辩控和
};
int main()
{
int total,choice,zero;
jury pool[MAX_JURY];
int eg = ;
while(cin>>total>>choice && (total> && choice>))
{
zero = *choice;//实际零点值
memset(pool,,total);
for(int i=,pi,di;i<=total;i++)
{
cin>>pi>>di;
pool[i].minus = di - pi;
pool[i].sum = di + pi;
}
memset(dp,-,sizeof(dp));
for(int i=;i<;i++)
for(int j=;j<;j++)
path[i][j].clear(); dp[][zero] = ;
for(int k=;k<=total;k++)
{
for(int i=choice;i>;i--)//更新路径先长后短,避免交叉覆盖
{
for(int j=;j<=*zero;j++)
{
if(dp[i-][j]>=)
{
if(dp[i][j+pool[k].minus] < dp[i-][j] + pool[k].sum)
{
dp[i][j+pool[k].minus] = dp[i-][j] + pool[k].sum;
path[i][j+pool[k].minus] = path[i-][j];
path[i][j+pool[k].minus].push_back(k);
}
}
}
}
}
int idx;
for(idx=;dp[choice][zero-idx]==- && dp[choice][zero+idx]==-;idx++);
int v = dp[choice][zero-idx]>dp[choice][zero+idx]?-idx:idx;
idx = zero + v;
cout << "Jury #" << eg++ <<endl;
cout << "Best jury has value "<<(dp[choice][idx]-v)/<<" for prosecution and value "<<(dp[choice][idx]+v)/<<" for defence:"<<endl; for(int l=;l<choice;l++)
{
cout << " "<< path[choice][idx][l] ;
}
cout<<endl;
}
return 0;
}
最新文章
- Js 旋转木马 轮播
- Python—模块
- JavaScript、CSS、JSP 实现用户注册页面与信息校验
- 集合类(Objective-C &; Swift)
- Only one instance of a ScriptManager can be added to the page.
- 一些不错的英文歌曲MV,留个存档!
- UVA 10594-Date Flow(无向图的最小费用网络流+题目给的数据有误)
- fullcalendar .net版本
- HTML5 canvas准备知识
- SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3&;nbsp
- 开涛spring3(1) - Spring概述
- elasticsearch 6 在 centos 6 上的安装问题
- redis jedis使用
- Error:java: Compilation failed: internal java compiler error 解决办法
- centOS改编码
- HNU 2015暑期新队员训练赛2 H Blanket
- vue+vux scrollTop无法实现定位到具体dom
- 『TensorFlow』读书笔记_ResNet_V2
- Tools - Windows OS
- TF版本的Word2Vec和余弦相似度的计算