随笔分类 - 数据结构--栈
摘要:$n \leq 1e6$个区间,定义一个区间集合的权值为:并集大小-交集大小。求一个权值最大的大小至少为2的集合。 好题。 在一个区间集合中,可以发现除了左右端点涉及的区间外,里面剩余的区间越少,并集不会变但交集会越大,因此答案会更优。但我们需要集合大小至少为2,因此变成选两个区间。 左右端点可能涉
阅读全文
摘要:n<=200000个平面上的点,问有多少对点(i,j)满足Xi<Xj,Yi<Yj,且不存在k使得Xi<Xk<Xj && Yi<Yk<Yj。保证Xi,Yi互不相同。 看起来像一个偏序问题,先按Xi排序然后分治来做,但是那坨长长的东西怎么搞呢?试了若干种方法,不会,看题解。 首先Y这一维是要满足的,所以
阅读全文
摘要:给个长度<=1e5的串s,再给n个模板串总长不超1e5,每次把s中起始位置最早的一个模板串删掉,求最后剩的串。 AC自动机,开个栈记一下每次走到哪里,匹配成功后直接在栈里找到这一串的初始位置对应自动机上的节点,从而回到刚才的样子就行了。 1 #include<stdio.h> 2 #include<
阅读全文
摘要:题目大意:n个数,每个数的权值会传给它左右严格大于它的第一个数,求每个数被传到的权值总和。 题解: 方法一:如果对于某个数,它左右的最大值都≤它自己,那么它左边就不用传;否则就要传给最接近它的大于它的数。由于需要询问最大值,可用RMQ预处理一波,然后二分地查找:若区间内最大值≤那个“它”,该区间就没
阅读全文

浙公网安备 33010602011771号