Java实现会MLE那我也没办法了

 //辩方总分和控方总分之差简称为“辩控差”
//辩方总分和控方总分之和简称为“辩控和”
//现用f(j, k)表示,取j 个候选人,使其辩控差为k 的所有方案中,辩控和最大的那个方案
//规定,如果没法选j 个人,使其辩控差为k,那么f(j, k)的值就为-1,称方案f(j, k)不可行
//那么,如果对k 的所有可能的取值,求出了所有的f(m, k) (-20×m≤ k ≤ 20×m),那么陪审团方案自然就很容易找到了
//显然,方案f(j, k)是由某个可行的方案f(j-1, x) (-20×m ≤ x ≤ 20×m)演化而来的
//而且,由于题目中辩控差的值k 可以为负数,而程序中数租下标不能为负数
//所以,在程序中不妨将辩控差的值都加上20*m,以免下标为负数导致出错
 #include<vector>
#include<cstdio>
#include<iostream>
using namespace std;
int dp[][],sub[],sum[];
vector<int> path[][];
int main() {
for(int n,m,Case=;~scanf("%d%d",&n,&m) && n && m;) {
for(int i=; i<; i++)for(int j=; j<; j++)path[i][j].clear();//清空vector
for(int i=; i<; i++)for(int j=; j<; j++)dp[i][j]=-;
for(int i = ,d,p; i <= n; i++) cin>>d>>p,sub[i] = d-p,sum[i] = d+p;
int ans = *m,x;
dp[][ans] = ;
int time1=;
for(int k = ; k <= n; k++)//选择一个
for(int i = m-; i >= ; i--)//进行逆推
for(int j = ; j < *ans; j++)
if(dp[i][j] >= ) {
if(dp[i+][j+sub[k]] <= dp[i][j] + sum[k]) {
dp[i+][j+sub[k]] = dp[i][j] + sum[k];
path[i+][j+sub[k]] = path[i][j];//每次更新都要把path全部复制过来,就是因为这个才用的vector
path[i+][j+sub[k]].push_back(k);
}
}
for(x = ; dp[m][ans+x] == - && dp[m][ans-x] == -; x++);
int temp = (dp[m][ans+x] > dp[m][ans-x]) ? x : -x;
int sumD = (dp[m][ans+temp] + temp )/;
int sumP = (dp[m][ans+temp] - temp )/;
printf( "Jury #%d\n",++Case);
printf( "Best jury has value %d for prosecution and value %d for defence:\n", sumD,sumP);
for(int i=; i < m; i++ )printf( " %d", path[m][ans+temp][i]);
printf( "\n\n" );
}
return ;
}

C++-POJ1015-Jury Compromise的更多相关文章

  1. poj1015 Jury Compromise【背包】

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:32355   Accepted:8722   ...

  2. POJ-1015 Jury Compromise(dp|01背包)

    题目: In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting ...

  3. [POJ1015]Jury Compromise

    题目大意:要求你从n个人中选出m个,每个人有两个值p[i],D[i],要求选出的人p总和与D总和的差值最小.若有相同解,则输出p总+D总最大的方案. 动态规划. 一直在想到底是n枚举外面还是m放外面, ...

  4. poj1015 Jury Compromise[背包]

    每一件物品有两个属性.朴素思想是把这两种属性都设计到状态里,但空间爆炸.又因为这两个属性相互间存在制约关系(差的绝对值最小),不妨把答案设计入状态中,设$f[i][j]$选$i$个人,两者之差$j$. ...

  5. $POJ1015\ Jury\ Compromise\ Dp$/背包

    洛谷传送门 $Sol$ 这是一道具有多个“体积维度”的$0/1$背包问题. 把$N$个候选人看做$N$个物品,那么每个物品有如下三种体积: 1.“人数”,每个候选人的“人数”都是$1$,最终要填满容积 ...

  6. POJ 1015 Jury Compromise(双塔dp)

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 33737   Accepted: 9109 ...

  7. HDU 1015 Jury Compromise 01背包

    题目链接: http://poj.org/problem?id=1015 Jury Compromise Time Limit: 1000MSMemory Limit: 65536K 问题描述 In ...

  8. 背包系列练习及总结(hud 2602 && hdu 2844 Coins && hdu 2159 && poj 1170 Shopping Offers && hdu 3092 Least common multiple && poj 1015 Jury Compromise)

    作为一个oier,以及大学acm党背包是必不可少的一部分.好久没做背包类动规了.久违地练习下-.- dd__engi的背包九讲:http://love-oriented.com/pack/ 鸣谢htt ...

  9. 【题解】Jury Compromise(链表+DP)

    [题解]Jury Compromise(链表+DP) 传送门 题目大意 给你\(n\le 200\)个元素,一个元素有两个特征值,\(c_i\)和\(d_i\),\(c,d \in [0,20]\), ...

  10. poj 1015 Jury Compromise(背包+方案输出)

    \(Jury Compromise\) \(solution:\) 这道题很有意思,它的状态设得很...奇怪.但是它的数据范围实在是太暴露了.虽然当时还是想了好久好久,出题人设了几个限制(首先要两个的 ...

随机推荐

  1. c++多线程编程——初探

    c++多线程并发可以帮助我们挖掘CPU的性能,在我们的思想中,似乎程序都是顺序执行的.这样的结论是建立在:程序是单线程程序.(比如我们平时写的hello world程序). 但是如果程序是多线程的.那 ...

  2. IIS搭建负载均衡WebFarm+Arr

    本文所述仅针对IIS7.0或更高版本 一.IIS简介 IIS( Internet Information Services),微软官方Windows平台上面web容器服务.支持http协议和ftp协议 ...

  3. 航空航天专用Everspin非易失性MRAM存储器

    TAMU是由瑞典乌普萨拉的Ångström航空航天公司(ÅAC)开发的高级磁力计子系统.TAMU的目的是提供地球磁场的磁力计数据,以便与子画面观测相关.实验性TAMU由使用领先技术制造的四种类型的设备 ...

  4. 巨杉数据库SequoiaDB】巨杉Tech | SequoiaDB 分布式事务实现原理简介

    1 分布式事务背景 随着分布式数据库技术的发展越来越成熟,业内对于分布式数据库的要求也由曾经只用满足解决海量数据的存储和读取这类边缘业务向核心交易业务转变.分布式数据库如果要满足核心账务类交易需求,则 ...

  5. 【LInux01】学习Linux课程体系

    知识 =>技能   需要大量的练习  相当于复盘 要有成就感 在一个领域深挖,再迁移到其他领域 1.两周以后的知识留存率: 主动学习: 动手实践:40% 讲给别人听:70% 写博客:是写教程,便 ...

  6. 小白的java学习之路 “ 字符串”

    定一个字符串可以使用string类和stringbuffer类. string类提供了大量的操作字符串的方法,常用的如下: 获得字符串的长度: length(). 比较字符串:equals(). 链接 ...

  7. Docker学习笔记(2):使用Dockerfile构建镜像

    Dockerfile是用来构建Docker镜像的文件,是由一系列命令和参数构成的脚本.每条指令都必须为大写字母且后面要跟随至少一个参数,每条指令都会创建一个新的镜像层,并对镜像进行提交. Docker ...

  8. 微信小程序 --- 日历效果

    wxml部分: <view class='box1' style='width: {{ sysW * 7 }}px'> <view class='dateBox'>{{ yea ...

  9. 《UNIX环境高级编程》源码配置——apue.3e 安装

    转载从:http://blog.csdn.net/songshimvp1/article/details/51440545 网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说有些过时 ...

  10. Bootstrap 警告框(Alert)插件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...