摘要: KMP 的 fail 指针指向的位置是具有循环节性质的. code: #include <bits/stdc++.h> #define ll long long #define N 1000020 #define setIO(s) freopen(s".in","r",stdin) using na 阅读全文
posted @ 2020-03-25 23:28 EM-LGH 阅读(141) 评论(0) 推荐(0)
摘要: 这道题太 tm 卡内存了. 不知道这样做意义何在,是在考察选手卡常能力吗 ? 思路没啥说的,整个棋盘的形态我们是知道的. 那么显然从小到大把数往棋盘里填,然后我们每次不可以选的是一个左下角和右上角区域,暴力覆盖就行. 覆盖的时候要判一下什么时候 break,来保证每个地方只被覆盖依次. code: 阅读全文
posted @ 2020-03-25 20:33 EM-LGH 阅读(167) 评论(0) 推荐(0)
摘要: 一眼吉司机线段树弱化版,但是这道题可以不用这么高级的数据结构. 直接用普通线段树,打一个 mx,mn 标记分别表示区间取 mn,max 然后 pushdown 的时候讨论一下大小关系即可. code: #include <bits/stdc++.h> #include "wall.h" #defin 阅读全文
posted @ 2020-03-25 16:39 EM-LGH 阅读(155) 评论(0) 推荐(0)
摘要: 暴力的做法是求出 $next$ 数组后倍增求解答案. 但实际上不用这么麻烦,再做一次类似于 KMP 的东西就可以了. code: #include <bits/stdc++.h> #define N 1000006 #define ll long long #define setI(s) freop 阅读全文
posted @ 2020-03-25 13:36 EM-LGH 阅读(128) 评论(0) 推荐(0)
摘要: 新学一发扩展 KMP. 和 KMP 一样,都是均摊复杂度 $O(n)$. code: #include <bits/stdc++.h> #define N 20000007 #define ll long long #define setI(s) freopen(s".in","r",stdin) 阅读全文
posted @ 2020-03-25 10:33 EM-LGH 阅读(188) 评论(0) 推荐(0)
摘要: 这道题好麻烦的. 把次小值和最小值一起更新,WA 了半天. 这道题采用的是势能分析的做法,并没有用到 CPU 监控那道题中的打标记法. 有时间再研究一下这几类线段树的异同. code: #include <cstdio> #include <algorithm> #include <cstring> 阅读全文
posted @ 2020-03-25 01:24 EM-LGH 阅读(173) 评论(0) 推荐(0)