
单调队列
Rayment_cc
++Rp
展开
-
Codeforces 939F Cutlet
Problem CodeForces 大意就是一个长度为2n的01序列,给定k个不相交的区间,在区间内的元素允许与前一个元素不同,代价为1,要求使得01序列中0和1恰好是n个,问最小的代价。 Solution 可以设出这样的一个dp,f[i][j]表示到第i段结束,当前没烤的这面烤j分钟的最小翻面次数。如果你觉得这个状态不那么方便你也可以加一维0/1咯。 有这么一个性质,在一段区间内只有不翻/翻1...原创 2018-10-02 18:08:22 · 337 阅读 · 0 评论 -
Codeforces 835F Roads in the Kingdom
Problem Codeforces 给你一棵基环树,定义直径为所有点对最短距离的最大值。要求你在环上删一条边,最小化剩余树的直径。 保证没有二元环。 Solution 先吐槽:基环树,仙人掌什么的都是用来恶心人的。还有这题网上代码长得怎么都一样?? 先把环拆出来,考虑枚举环上删的边edge(ci,ci+1)edge(c_{i},c_{i+1})edge(ci,ci+1) 那么分三种情况 1...原创 2018-09-18 14:47:34 · 417 阅读 · 0 评论 -
BZOJ1758 WC2010 重建计划
Problem BZOJ Solution 二分答案,把路径权值都减去mid,那么就变成了能不能选出一条长度[L,R][L,R][L,R]权值大于等于0的路径。 考虑点分治,那么我们就只需要考虑拼接两棵子树。这是一个有长度限制以深度为下标的dp。这里用单调队列优化。记录 f[i]f[i]f[i] 表示之前遍历过的子树中深度为 iii 到根的最大权值,g[i]g[i]g[i] 为当前的,单调队列优化...原创 2019-02-08 12:48:25 · 251 阅读 · 0 评论