2014年3月6日

POJ 1722: SUBTRACT

摘要: 题形:DP,背包题意:有一个数组,里面保存着n个数。con(i) 操作表示 把a[i] 和 a[i+1] 这两项 用 a[i]-a[i+1]这一项取代(所以操作结束后数组长度会减少1)。通过n-1次操作,可以让数组只剩下一个数。给你一个目标数,求n-1次操作,使得经过这些操作之后这个数组能变成这个目标数(题目保证存在解)思路:题目拐了个大弯啊~隐藏的真好。需要转换模型。首先,容易把题意转变成,a[1]-a[2]-a[3]-...-a[n],这样一个算式,让你加括号,使得结果为目标数然后想象一下最后的答案。假设我们知道最后的答案,那么把所有括号拆掉,结果的式子一定一这样的:a[1]-a[2]&# 阅读全文

posted @ 2014-03-06 18:41 ShineCheng 阅读(406) 评论(0) 推荐(0) 编辑

Vijos 1323: 化工厂装箱员

摘要: 题形:DP题意:A,B,C三种物品,一共N个,顺序摆放,按顺序拿。每次手上最多能拿10个物品,然后可以将某个类别的物品分类放好,再从剩下的拿,补全10个。问最少放几次,可以把所有物品分类好。思路:第一次见这种DP.……感觉应该是宽搜求最短路吧?好奇怪dp[i][a][b][c] 表示 拿到第i个物品,手上剩A物品a个,B物品b个,C物品c个,这个状态时,所用的最少的次数。假设我们这次拿A,则dp[i+a] [sum['A'][i+a]-sum['A'][i]] [b+sum['B'][i+a] - sum['B'][i]] [c+ 阅读全文

posted @ 2014-03-06 14:08 ShineCheng 阅读(187) 评论(0) 推荐(0) 编辑

导航