随笔分类 -  st表

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

点击右上角即可分享
微信分享提示