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;
}

最新文章

  1. Js 旋转木马 轮播
  2. Python—模块
  3. JavaScript、CSS、JSP 实现用户注册页面与信息校验
  4. 集合类(Objective-C &amp; Swift)
  5. Only one instance of a ScriptManager can be added to the page.
  6. 一些不错的英文歌曲MV,留个存档!
  7. UVA 10594-Date Flow(无向图的最小费用网络流+题目给的数据有误)
  8. fullcalendar .net版本
  9. HTML5 canvas准备知识
  10. SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3&amp;nbsp
  11. 开涛spring3(1) - Spring概述
  12. elasticsearch 6 在 centos 6 上的安装问题
  13. redis jedis使用
  14. Error:java: Compilation failed: internal java compiler error 解决办法
  15. centOS改编码
  16. HNU 2015暑期新队员训练赛2 H Blanket
  17. vue+vux scrollTop无法实现定位到具体dom
  18. 『TensorFlow』读书笔记_ResNet_V2
  19. Tools - Windows OS
  20. TF版本的Word2Vec和余弦相似度的计算

热门文章

  1. golang 查询数据库操作
  2. ORA-00942:表或视图不存在 低级错误一例
  3. ABAP学习之旅——多种方式建立模块化功能
  4. HDU 1231——最大连续子序列(DP)
  5. Tomcat 隐藏Server Name
  6. nyoj 739 笨蛋的难题四
  7. linux文件系统的权限简单介绍
  8. vijos - P1077克隆龙 (找规律 + 指数型母函数 + python)
  9. html5 canvas程序演示--P1197 [JSOI2008]星球大战
  10. android EditText如何使光标随着输入内容移动