随笔分类 -  背包

摘要:传送门 思路: 动态规划,设 f [ i ][ j ] 表示小鸟到达坐标( i , j ) 所要点击屏幕的最少次数,如果小鸟无法到达( i , j ),则 f [ i ][ j ] = INF。 转移,考虑小鸟上升,和下降两种状态。 因为,在一个点上升次数不限,下降只有一次。 所以上升可以用 完全背 阅读全文
posted @ 2018-10-30 11:14 落笔映惆怅丶 阅读(333) 评论(0) 推荐(0)
摘要:传送门 思路: ① 可以把每个学生都看作点,而那些实力相同的学生就处在同一个连通块内,因为连通块内的同学要么都取,要么不取,所以可以将连通块缩成一个点。只需用并查集维护每个连通块的大小。 ② 接着采取神奇的可行性DP:用 f[ i ] 判断选出 i 个学生的方案是否可行。可行就转移 。 伪代码: 初 阅读全文
posted @ 2018-10-24 21:48 落笔映惆怅丶 阅读(159) 评论(0) 推荐(0)
摘要:传送门 思路: 设 f [ i ][ j ] 表示,扔进去 i 个垃圾,垃圾高度为 j 时,奶牛的生命值。 初始化 f 数组为 -1,因为当奶牛生命值为 0 时,奶牛还是可以操纵垃圾。f [ 0 ][ 0 ] = 10 为奶牛的初始生命值。 转移如下: ① 当 f [ i ][ j ] < 0 时, 阅读全文
posted @ 2018-10-22 17:18 落笔映惆怅丶 阅读(207) 评论(0) 推荐(0)
摘要:传送门 思路: 可以用 01 背包做,但是如果直接套用 01背包 模板就 GG 了。因为随着时间的推移,每个物品的价值在不断的发生改变。 现在考虑相邻的两个物品x,y。假设现在已经耗费 p 的时间,那么分别列出先做 x,y 的代价: ① a[ x ] - ( p + c[ x ] ) * b[ x 阅读全文
posted @ 2018-10-16 19:31 落笔映惆怅丶 阅读(254) 评论(0) 推荐(0)
摘要:传送门 思路: 有条件的 01背包(有依赖的背包)。 可分为四种情况来做 01背包 :①不买主件 ②买主件 ③买主件+副件1 ④买主件+副件2 ⑤买主件+副件1+副件2 转移条件: ①没有附件,按最基本的 01背包来做。 ②该附件和主件的重量(为区分价格和价值,接下来的所有分析都按背包理解)之和 ≤ 阅读全文
posted @ 2018-09-25 21:17 落笔映惆怅丶 阅读(148) 评论(0) 推荐(0)
摘要:回忆一下动规中的背包。。。 一. 最基本的 01背包: 描述: 一个旅行者有一个最多能装 m 公斤的背包,现有 n 件物品 ,它们的重量分别为 W1、W2……Wn ,它们的价值分别为 C1、C2……Cn ,求旅行者能获得的最大总价值。 输入: 第一行:两个整数,m(背包容量)和 n(物品数量); 第 阅读全文
posted @ 2018-09-25 20:12 落笔映惆怅丶 阅读(259) 评论(0) 推荐(0)