随笔分类 -  线性动规

摘要:传送门 思路: 设 f[ i ][ j ] 为第 i 节,切到第 j 段的最大恶心值。 枚举 左端点 j ,右端点 i ,段数 k → 转移: f [ i ][ k ] = max ( f [ i ][ k ],f [ j ][ k -1 ] + sum [ j ~i ])。( sum [ j~i 阅读全文
posted @ 2018-11-08 17:11 落笔映惆怅丶 阅读(229) 评论(0) 推荐(0)
摘要:传送门 思路: 动态规划,设 f [ i ][ j ] 表示小鸟到达坐标( i , j ) 所要点击屏幕的最少次数,如果小鸟无法到达( i , j ),则 f [ i ][ j ] = INF。 转移,考虑小鸟上升,和下降两种状态。 因为,在一个点上升次数不限,下降只有一次。 所以上升可以用 完全背 阅读全文
posted @ 2018-10-30 11:14 落笔映惆怅丶 阅读(358) 评论(0) 推荐(0)
摘要:传送门 思路: 设 f [ i ][ j ][ k ][ 0/1 ] 表示 A 串匹配到第 i 个,B 串匹配到第 j 个,已经匹配到第 k 段,0: A[ i ] 与 B[ j ] 不匹配, 1: A[ i ] 与 B[ j ] 匹配。 状态转移可分为 A[ i ] 与 B[ j ] 匹配和不匹配 阅读全文
posted @ 2018-10-26 17:27 落笔映惆怅丶 阅读(228) 评论(0) 推荐(0)
摘要:传送门 思路: ① 可以把每个学生都看作点,而那些实力相同的学生就处在同一个连通块内,因为连通块内的同学要么都取,要么不取,所以可以将连通块缩成一个点。只需用并查集维护每个连通块的大小。 ② 接着采取神奇的可行性DP:用 f[ i ] 判断选出 i 个学生的方案是否可行。可行就转移 。 伪代码: 初 阅读全文
posted @ 2018-10-24 21:48 落笔映惆怅丶 阅读(165) 评论(0) 推荐(0)
摘要:传送门 思路: 设 f [ i ][ j ] 表示,扔进去 i 个垃圾,垃圾高度为 j 时,奶牛的生命值。 初始化 f 数组为 -1,因为当奶牛生命值为 0 时,奶牛还是可以操纵垃圾。f [ 0 ][ 0 ] = 10 为奶牛的初始生命值。 转移如下: ① 当 f [ i ][ j ] < 0 时, 阅读全文
posted @ 2018-10-22 17:18 落笔映惆怅丶 阅读(214) 评论(0) 推荐(0)
摘要:传送门 思路: 对于第一问很容易看出是求最长下降子序列,N2 的暴力就可解决。而第二问是求最优方案数(且不重复),需要判重。可以在求解最长下降子序列的基础上增开一个数组 g ,g[ i ] 表示以 i 结尾,不同的最优方案数。 标程: 阅读全文
posted @ 2018-10-17 21:47 落笔映惆怅丶 阅读(131) 评论(0) 推荐(0)
摘要:传送门 思路: 动态规划:设 f [ i ] 表示第 i 个任务开始时,可获得的最大空闲时间。 转移方程: ① 若此时无任务:f [ i ] = max( f [ i ] , f [ i-1 ]+1 )。 ② 若此时有任务:f [ i+wj-1 ] = max( f [ i+wj-1 ] , f [ 阅读全文
posted @ 2018-10-15 12:04 落笔映惆怅丶 阅读(181) 评论(0) 推荐(0)
摘要:传送门 思路: 动态规划,设 f [ i ][ j ][ k ][ l ] 表示1、2 、3、4号牌用了多少张后,所能够获得的分数的最大值。 因为棋子从1开始走,棋子走过的路程就等于已用的牌张数×牌上的点数 : pass= i×1 + j×2 + k×3 + l×4 所以只要枚举每种牌用过的次数,动 阅读全文
posted @ 2018-09-21 21:34 落笔映惆怅丶 阅读(144) 评论(0) 推荐(0)