Coder Space

PKU 1015 Jury Compromise --- 动态规划

题意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定。陪审团是由法官从公众中挑选的。先随机挑选n 个人作为陪审团的候选人,然后再从这n 个人中选m 人组成陪审团。
            选m人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0 到20。为了公平起见,法官选出陪审团的原则是:选出的m 个人,必须满足辩方总分和控
            方总分的差的绝对值最小。如果有多种选择方案的辩方总分和控方总分的之差的绝对值相同,那么选辩控双方总分之和最大的方案即可。最终选出的方案称为陪审团方案。

解法:动态规划。dp[i][j][k]表示前i个人,已经选了j个人,差值为k时,得到的最大和,不能取到k时,为-1。
           dp[i][j][k]=max{dp[i-1][j][k],dp[i-1][j-1][k-sub[i]]+D[i]+P[i]}。

源代码

posted on 2010-12-21 13:35 David Liu 阅读(175) 评论(0)  编辑 收藏 引用 所属分类: 动态规划


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


My Links

Blog Stats

常用链接

留言簿

文章分类

文章档案

搜索

最新评论