题目:http://poj.org/problem?id=1015 差值是有后效性的,所以“转化为可行性”,开一维记录“能否达到这个差值”. 当然可以开两维分别记录 a 和 b,但 “值只是0或1” 和 “当前元素对应一个 a 只有一个 b ,其他 b 就浪费了” 这两点说明这种状态有优化空间. 开一维记录差值,d数组的值记录最大的 a+b 值较好. 虽然差值是绝对值,但需要分正负以计算.可以全部加一个修正值 fix 解决脚标非负的问题.(不要试图开一维0或1记录正负,会在边界的地方分类讨论而死…
题目: In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting of members of the general public. Every time a trial is set to begin, a jury has to be selected, which is done as follows. First, several people are…
题目:http://poj.org/problem?id=1015 DP的第一维是选了几个人,第二维是当前D与P的差值,而值存的是当前D与P的和: 技巧1:通过平移避免负角标,即代码中的fix: 技巧2:做完DP后找出最小的差的绝对值时,如下的那一小段代码很有效率: 技巧3(*):记录路径——①更新路径时每次判断是否重复选了一个人,重复则不更新: ][k+P[i]-D[i]]) { t1=j;t2=k; &&Path[t1][t2]!=i)//验证i是否在前面出现过 { t2-=P[Pat…
洛谷传送门 $Sol$ 这是一道具有多个“体积维度”的$0/1$背包问题. 把$N$个候选人看做$N$个物品,那么每个物品有如下三种体积: 1.“人数”,每个候选人的“人数”都是$1$,最终要填满容积为$M$的背包 2.“辩方得分”,$a[i]$ 3.“反方得分”,$b[i]$ 要求的是辩方总分$D$和控方总分$P$的差的绝对值$|D-P|$最小,如果选择方法不唯一,那么在从中选择$D+P$最大的方案 所以将$a[i]-b[i]$作为体积之一,将$a[i]+b[i]$作为该物品的价值 注意这里的…
http://poj.org/problem?id=1015 (题目链接) 题意 随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m 人组成陪审团.选m人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0 到20.为了公平起见,法官选出陪审团的原则是:选出的m个人,必须满足辩方总分D和控方总分P的差的绝对值|D-P|最小.如果有多种选择方案的 |D-P| 值相同,那么选辩控双方总分之和D+P最大的方案即可. Solution 源自:http://blog.csdn.n…
第一次做dp分组的问题,百度的~~ http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团.选m人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分值从0到20.为了公平起见,法官选出陪审团的原则是:选出的m个人,必须满足辩方总分和控方总分的差的绝对值最小.如果有多种选择方案的辩方总分和控方总分的之差的绝对值相…
这是一道比较综合的动态规划问题. 首先,根据题目中的从N个人中选出M个人,并且要使得某个目标函数最优,可以想到是背包问题,且因为要取出M个人,人数也应该作为背包体积的一个维度. 其次,要求输出路径,因此不能进行滚动数组优化(优化后无法记录状态转移途径). 再次观察要求最优的函数,是一个相减取绝对值的函数,因此,可能出现负数,因此要给零点加一个偏移量. 状态的选取:\(dp[i][j][k]\)表示前 i (阶段)个物品中选取 j 个,且目标函数值为 k 时,和函数的最大值是多少. 代码如下: #…
题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识.如果I < J,则花束I必须放在花束J左边的花瓶中.例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有花束在放入花瓶时必须保持其标识数的顺序,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中.如果花…
大致题意: 从n个候选人中选出m个人作为陪审团.为了让陪审团的选择更公平,辩方和控方都为这n个候选人给出了满意度(辩方为D[j],控方为P[j],范围0至20).现在要使得选出的m位候选人的辩方总和与控方总和的差最小,如果有多个最小,选择辩方总和与空方总和的和最大的那个方案. 分析: 一开始以为就是普通的01背包,结果代码一写,WA了.后来发现|D[j]-P[j]|并不构成最优子结构,所以不是01背包.题目要我们求出的方案辩方总和与控方总和的差最小,并且在这个前提下,使得辩方总和和控方总和的和最…
In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting of members of the general public. Every time a trial is set to begin, a jury has to be selected, which is done as follows. First, several people are draw…