随笔分类 - st表
摘要:HDU 5409 显然要先双连通缩成一棵树。 然后对于树上的边才有答案。 对于一条边来说, 两侧的最大值分为mx1 , mx2 , 那么 u 一定是min(mx1, mx2), v 一定是 u + 1。 这个经过仔细分析一下就能得到, 然后按dfs序建个st表就好啦。
阅读全文
摘要:Big Problems for Organizers 想了挺久没有想出来。。 感觉也是个套路, 以后树上两点最长路径要考虑一下把树的直径抠出来, 会发现就可以分类讨论解决问题了。。
阅读全文
摘要:Ratings and Reality Shows 参加talk show的时间肯定是在某个t[ i ]的后一秒, 枚举一下就好了。
阅读全文
摘要:E - Forensic Examination 我也不知道为什么这个复杂度能过, 而且跑得还挺快, 数据比较水? 在sa上二分出上下界, 然后莫队 + 线段树维护区间众数。
阅读全文
摘要:Place Your Ad Here 把没用的第一类区间去掉之后, 排序, 然后枚举第二类区间, 在上面死命二分就好了。
阅读全文
摘要:思路:我们定义F(x) 为以x点为起点,向后(a - b)个里面有多少个白球,虽然x的范围是LL范围内的,但是白球的 个数只有1e5, 那么我们可以把连续一段相同的离散化到一起, 对于一个确定的长度为a的段, Bob选择留下F(x) 最小的那一个,这个可以用st表求出来, 那么对于Alice来说,对
阅读全文
摘要:F - New Year and Cleaning 这题简直是丧心病狂折磨王。。 思路:容易想到这样一个转换,把整个矩形一起移动,矩形移出去的时候相当于一行或者一列。 为了优化找到下一个消去的点,我先把原数组扩大两倍,用了st表加二分去找,然后就MLE, 我又换了 线段树TLE,最后不把数组扩大两倍
阅读全文
摘要:D - Animals and Puzzle
阅读全文
摘要:B - Strip 思路:简单dp,用st表+单调队列维护一下。
阅读全文
摘要:题目大意:给你两个长度为n的数组a, b,问你有多少个问你有多少个区间满足 a中最大值等于b中最小值。 思路:我本来的想法是用单调栈求出每个点的管辖区间,然后问题就变成了巨麻烦的线段覆盖问题,就爆炸写了 一晚上假算法。正解就是枚举一个端点,然后二分找右端点的区间,因为满足一个很神奇的单调性,然后st
阅读全文