I and OI
Past...
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 35 下一页
摘要: 题意:给出N个挂钩,M个砝码,每个挂钩有一个权值,可正可负(相当于天平的左右边).求用M个砝码使天平平衡的方案数(砝码必须全用上).分析:f[i,j]表示用前i个砝码,左右差值为j的方案数.转移见代码.ans=f[m,0].code:const range=8000; r=7500;var f:array[0..21,-range..range] of longint; n,m,k,i,j:longint; p,w:array[0..21] of longint;begin readln(n,m); for i:=1 to n do read(p[i]); readln; for i:=1 t 阅读全文
posted @ 2011-08-10 16:37 exponent 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题意:现在有4种面值的货币,给出每种货币的数量,求是否能用这4种货币组成总额为P.若存在,则输出该方案.分析:多重背包,数组标记,记录路径.code:type rec=record fa,tot:longint;end;var a:array[1..4] of longint=(1,5,10,25); c,ans:array[1..4] of longint; f:array[0..10001] of boolean; count:array[0..10001] of longint; path:array[0..10001] of rec; i,j,m,cur:longint; functi 阅读全文
posted @ 2011-08-10 16:13 exponent 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 题意:题目给出两列数,为了使两列数的和之间的差距(gap)变小,可以交换对应位置的数字,求出当gap最小的时候,最少的交换次数.分析:用f[i,j]表示处理完前i对数,差为j的最少交换次数.注意到f[i]只跟f[i-1]有关,可以用滚动数组.转移类似于填表.code:var a,b,d:array[0..1001] of longint; f:array[0..1,-6000..6000] of longint; g:array[0..1,-6000..6000] of boolean; n,i,j,pre,now:longint; function min(a,b:longint):long 阅读全文
posted @ 2011-08-10 16:10 exponent 阅读(777) 评论(1) 推荐(1) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 35 下一页