poj1015专题

280. 陪审团 poj1015(背包DP)

在一个遥远的国家,一名嫌疑犯是否有罪需要由陪审团来决定。 陪审团是由法官从公民中挑选的。 法官先随机挑选N个人(编号1,2…,N)作为陪审团的候选人,然后再从这N个人中按照下列方法选出M人组成陪审团。 首先,参与诉讼的控方和辩方会给所有候选人打分,分值在0到20之间。 第 i 个人的得分分别记为p[i]和d[i]。 为了公平起见,法官选出的M个人必须满足:辩方总分D和控方总分P的差的绝对

poj1015(dp输出路径)

链接:点击打开链接 题意:有n个人,每个人有一个D值和P值,求选出m个人,使得|∑(D)-∑(P)|最小,如果最小值相同,则选择|∑(D)+∑(P)|较大的,输出选出的人和∑(D),∑(P) 代码: #include <vector>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>

poj1015 Jury Compromise 题解报告

题目传送门 【题目大意】 要从n个候选人中选出m人作为陪审团,对于这n个候选人,每个人都有两个分数,一个是辩护方的分数,一个是起诉方的分数。要求一种方案,使得辩护方分数之和与起诉方分数之和的差最小而和最大。求这种方案下辩护方分数和起诉方分数。 【思路分析】 我们可以把这道题目看做是具有多个“体积维度”的0/1背包问题。把n个候选人看做n个物品,那么每个物品有以下三种“体积”: 1.“人数”,每个