随笔分类 -  DP-背包

摘要:由于bitset极其不熟练且在实际题目中想不起来运用它来优化,于是练了几道题。 这题是一个分组的bool背包,每组必须选一个,暴力的话是$O(n^5)$。 如果dp数组不要一维滚动的话,有两种枚举方法,一种是枚举体积放外层然后同一组物品放内层,另一种是反过来。 for i 1...n for j 1 阅读全文
posted @ 2019-10-22 16:42 Ametsuji_akiya 阅读(159) 评论(0) 推荐(0)
摘要:Task1 这个是USACO 2019 JAN Gold的原题,可能因为过于水,所以我即使八点多才开始做也提前ak。。。来写一篇题解。。 A. Cow Poetry 显然押同一韵的行只需要最后一个词属于一个韵部,前面长度$K-s_i$随便排,DP一下长度$i$的有多少种,类似于背包转移,只是把物品放 阅读全文
posted @ 2019-09-22 10:56 Ametsuji_akiya 阅读(214) 评论(0) 推荐(0)
摘要:每一件物品有两个属性。朴素思想是把这两种属性都设计到状态里,但空间爆炸。又因为这两个属性相互间存在制约关系(差的绝对值最小),不妨把答案设计入状态中,设$f[i][j]$选$i$个人,两者之差$j$。这样dp。于是$O(NM^3)$暴力背包即可,记录转移,也就是$g[i][j][k]$来表示当前到这 阅读全文
posted @ 2019-09-17 18:00 Ametsuji_akiya 阅读(137) 评论(0) 推荐(0)
摘要:这道题写的时候迷迷糊糊很困。。所以我也不知道我为什么过了QWQ 一开始思路不太好,设$f[i]$表示还剩$i$个挂钩,发现边界很难处理,但是发现物品不能一样一样按顺序枚举,需要先把挂钩$> 0$价值$\ge 0$的全挂上去,然后挂钩$=0$价值$\le 0$的扔掉。 只剩下两种:价值$>0$挂钩$= 阅读全文
posted @ 2019-09-12 08:28 Ametsuji_akiya 阅读(151) 评论(0) 推荐(0)