随笔分类 -  数据结构 -- 单调队列

摘要:【CF1133E】K Balanced Teams(动态规划,单调队列) 题面 "CF" 让你把一堆数选一些出来分成不超过$K$组,每一组里面的最大值和最小值之差不超过$5$,求最多有多少个人元素可以被分组。 题解 设$f[i][j]$表示把前$i$个数分成$j$组的最多人数。 然后单调队列转移一下 阅读全文
posted @ 2019-04-04 16:55 小蒟蒻yyb 阅读(445) 评论(0) 推荐(0)
摘要:【BZOJ1293】[SCOI2009]生日礼物(单调队列) 题面 "BZOJ" "洛谷" 题解 离散之后随便拿单调队列维护一下就好了。 cpp include include include include include include include using namespace std; 阅读全文
posted @ 2018-10-05 22:06 小蒟蒻yyb 阅读(235) 评论(0) 推荐(0)
摘要:【BZOJ1047】[HAOI2007]理想的正方形(单调队列,动态规划) 题面 "BZOJ" "洛谷" 题解 直接一个单调队列维护一下没给点和它前面的$n$个位置的最大值,再用一次单调队列维护连续$n$列的,每个数和前面$n$个数的最大值,最小值同理,就做完了。 cpp include inclu 阅读全文
posted @ 2018-09-29 19:55 小蒟蒻yyb 阅读(184) 评论(0) 推荐(0)
摘要:【BZOJ1758】【WC2010】重建计划(点分治,单调队列) 题面 "BZOJ" "洛谷" Description Input 第一行包含一个正整数N,表示X国的城市个数. 第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限 接下来的N 1行描述重建小组的原有方案,每行 阅读全文
posted @ 2018-04-13 15:02 小蒟蒻yyb 阅读(458) 评论(2) 推荐(0)
摘要:【BZOJ2806】Cheat(后缀自动机,二分答案,动态规划,单调队列) 题面 "BZOJ" "洛谷" 题解 很有趣的一道题啊 对于在所有的串上面进行匹配? 很明显的后缀自动机 所以先构建出广义后缀自动机 然后这个拆分很像一个$dp$ 同时,要求的东西很像一个可以二分的样子 所以二分一个答案,考虑 阅读全文
posted @ 2018-03-13 20:24 小蒟蒻yyb 阅读(344) 评论(2) 推荐(0)
摘要:【BZOJ1499】瑰丽华尔兹(动态规划) 题面 "BZOJ" 题解 先写部分分 设$f[t][i][j]$表示当前在$t$时刻,位置在$i,j$时走的最多的步数 这样子每一步要么停要么走 时间复杂度$O(nmt)$ 得分$40~70$分 (据说这样能过???) cpp include includ 阅读全文
posted @ 2018-02-27 13:59 小蒟蒻yyb 阅读(269) 评论(2) 推荐(0)
摘要:【BZOJ2442】修建草坪(动态规划,单调队列) 题面 "权限题。。洛谷" 题解 设$f[i]$表示前$i$个里面选出来的最大值 转移应该比较显然 枚举一个断点的位置,转移一下就好 $f[i]=max(f[j 1]+s[j] s[i])$ 所以可以单调队列优化一下 (不优化用各种玄学可以拿90分。 阅读全文
posted @ 2018-02-07 21:37 小蒟蒻yyb 阅读(289) 评论(0) 推荐(0)
摘要:【BZOJ1855】股票交易(动态规划,单调队列) 题面 "BZOJ" 题解 很显然,状态之和天数以及当天剩余的股票数有关 设$f[i][j]$表示第$i$天进行了交易,剩余股票数为$j$的最大获利 每次枚举可以转移过来的天数以及股票数 再枚举买入或者卖出的数量, 时间复杂度$O(T^2Mp^2)$ 阅读全文
posted @ 2018-02-07 15:43 小蒟蒻yyb 阅读(286) 评论(0) 推荐(0)