摘要: 先考虑$O(n^2)$的做法。 考虑一个在叶子的农民怎么抓住B。显然农民会向B走。 由于每一个节点B都可能走,如果一些农民向一个点x走,则要满足B到x的距离<农民到x的距离,这样子才能成功逃走。 把B定为根,发现如果一个节点被农民走,则它的子节点就不用被走了。 设$f_i$表示所有叶子节点到i的最短 阅读全文
posted @ 2020-10-20 08:05 会赢嘛 阅读(112) 评论(0) 推荐(0)
摘要: 不那么套路的点分题。 首先根据题意容易得到一个$O(n^2)$的做法。 显然我们对于一个解,它的最优答案是内部的色数。 一个解合法的条件是它的外部不包含这个解内部的颜色。 那么我们可以暴力模拟这个过程。强制钦定一种颜色被选择,然后把这种颜色包含的所有点都加入解中,重复此过程直到解合法。 遍历一个颜色 阅读全文
posted @ 2020-10-17 15:49 会赢嘛 阅读(66) 评论(0) 推荐(0)
摘要: 有一个经典的套路(序列合并):有一个dag,节点数非常多,直接存是存不下的。 但是不用把整个图建出来。 如果把一个点的状态向后继状态连边,边有边权,定义一条路径的权值为它的边权和。求最小的k种路径边权和。 这是个经典的问题。使用堆,每次把最小值取出来,把它的后继状态插入堆,把最小值pop掉k次即可。 阅读全文
posted @ 2020-10-17 08:40 会赢嘛 阅读(103) 评论(0) 推荐(0)
摘要: 被卡空间的代码: #include<bits/stdc++.h> #define N 810010 using namespace std; struct no{ int l,r,id; }a[100010]; int operator <(no x,no y){ return x.l<y.l||( 阅读全文
posted @ 2020-10-12 08:31 会赢嘛 阅读(127) 评论(0) 推荐(0)
摘要: 。 阅读全文
posted @ 2020-10-04 07:54 会赢嘛 阅读(85) 评论(0) 推荐(0)
摘要: 例题(从易到难): 模板 poi 病毒 模板题,没什么营养价值 建立Trie图后tarjan判环即可。 CF710F 模板题,没什么营养价值 二进制分组+AC自动机即可。 lg3121 以前在jzoj上做过单串版本。 用AC自动机+栈,每次插入一个字符,维护在AC自动机上的匹配点。 栈中维护从栈底匹 阅读全文
posted @ 2020-09-28 10:23 会赢嘛 阅读(194) 评论(0) 推荐(0)
摘要: 本人从自己已注销的前博客内搬运一篇文章。 这道题的60分做法是:分答案串$<=100$和$>100$讨论。 $<=100$的部分可以使用算法3解决。枚举一个点l表示现在要统计左端点ll+99所有前缀字符串的密度的最大值。可以使用ac自动机解决 $>100$的部分可以二分+ac自动机。 原问题实际上是 阅读全文
posted @ 2020-09-28 10:14 会赢嘛 阅读(183) 评论(0) 推荐(0)
摘要: 如果只有1个元素,显然可以维护一个栈。 赋值相当于在栈中插入一个元素。维护bz[i]表示i操作是否被撤销。 撤销操作可以不断的把栈中bz=1的元素删除直到栈顶bz=0。 由于每个元素只会被删除一次,所以时间复杂度正确。 这给了我们一些启示。 考虑分块。对于每个块维护一个栈,栈顶表示最后一次有效(没被 阅读全文
posted @ 2020-09-27 16:11 会赢嘛 阅读(155) 评论(0) 推荐(0)
摘要: 如果把一个限制$(a,b)$视为平面上的一个点。 小组的人数是$(x,x)$ 题目的限制要求$a<=x<=b$就是$a<=x$且$x<=b$ 则平面上在$(a,b)\(左上方的无穷大的平面的小组代表的点都是当前点\)(x,x)$能取的。要取$x$个。 考虑一个贪心。把所有小组按照$x$从小到大排序。 阅读全文
posted @ 2020-09-25 17:39 会赢嘛 阅读(183) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-09-18 14:44 会赢嘛 阅读(1) 评论(0) 推荐(0)