摘要:
"http://acm.hdu.edu.cn/showproblem.php?pid=5730" 分治FFT模板。 DP:$f(i)=\sum\limits_{j=0}^{i 1}f(j)\times a(i j)$ 递推第i位时要用到0到i 1位,cdq套FFT,考虑每一位上f的贡献即可。 时间复 阅读全文
摘要:
"http://www.spoj.com/problems/JZPGYZ/" 查询一个询问串在上面n个串中多少个串的子串。 后缀数组+主席树,常熟有点大。。。 建出广义SAM,利用parent树的dfs序,每次相当于询问parent树的一个子树中出现了多少不同的颜色。 可以用主席树统计,pre表示d 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=3238" 后缀数组裸题但是$5\times 10^5$貌似常数有点大就过不了?(我的sa常数那么大想了想还是算了吧qwq) 两个后缀的lcp就是反串的后缀自动机上两个状态在parent树上的lca,l 阅读全文
摘要:
"http://uoj.ac/problem/131" 求出后缀数组和height数组后,从大到小扫相似度进行合并,每次相当于合并两个紧挨着的区间。 合并区间可以用并查集来实现,每个区间的信息都记录在这个区间的并查集的根上,合并并查集时用一个根的信息更新另一个根的信息同时计算两个答案。 时间复杂度$ 阅读全文
摘要:
"http://www.spoj.com/problems/PHRASES/" 求出后缀数组然后二分。 因为有多组数据,所以倍增求后缀数组时要特判是否越界。 二分答案时的判断要注意优化! 时间复杂度$O(TnL\log L)$,L为字符串总长度。 阅读全文
摘要:
"http://poj.org/problem?id=3177" 又写了一遍手动栈。。。 把边双都缩点,缩成一棵树,答案就是树中度数为1的点的个数除2上取整。 为什么呢?因为1个度数为1的点的树需要多连0条边,2个度数为1的点的树需要多连1条边,3个度数为1的点的树需要多连2条边。 然后对于n(n 阅读全文
摘要:
"http://poj.org/problem?id=2186" tarjan求强连通分量。 因为SD省选用WinXP+Cena评测而且不开栈,所以dfs只好写手动栈了。 写手动栈时思路清晰一点应该是不会出错的吧。。。 这里tarjan要开两个栈,一个是tarjan用来记录强连通分量的栈,另一个是记 阅读全文
摘要:
"https://vijos.org/p/1607" vijos界面好漂亮O(∩_∩)O~~ 对于一个植物x,和一个它保护的植物y,连一条边表示x保护y,对于每个植物再向它左方的植物也连一条边,很明显能连出一个图,图中的边的含义为如果要吃y,就必须先吃x。 这个图的强连通分量中的植物永远不会被吃,而 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=2212" 自下而上贪心。 需要用权值线段树来记录一个权值区间内的出现次数。 合并线段树时统计逆序对的信息就可以了。 时间复杂度$O(n\log n)$。 c++ include include inc 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=2646" 夏令营alpq654321讲课时说这道题很简单但并没有几个人提交,最近想复习一下线段树,脑袋一热就开始写这道题。。。 询问$[i,j]$内的抛物线在$[l,r]$上的最大值,最大值只会出现在 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=1018" 线段树维护连通性。 把每一列看成一个节点,对于线段树上的每一个节点,维护8个信息,前6个字面意思很好理解,sd0和sd1分别代表这个节点所代表的列区间的最右端再往右的第1/2行是否有道路连出 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4572" 轮廓线DP:设$f(i,j,S,x,y)$。 $S$表示$(i,1)$到$(i,j)$和$(i 1,j+1)$到$(i 1,m)$的长度为m的轮廓线上与每个位置作为末位是否与第一个串匹配的状 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4571" 这道题因为有加法,不能像可持久化trie那样每次判断只判断一个子树,而是在主席树上查询$\log n$个子树。 从高位到低位依次确定$a_j+x_i$的二进制位。 注意$a_j+x_i$不是 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=4570" 对于每个妖怪的两个值,看成二位平面上的一个点的横纵坐标(x,y)。 因为只关心a/b,所以设经过这个点的斜率为k,那么妖怪的战斗力为$x+y kx \frac yk$。 对于一个k,要找所有 阅读全文
摘要:
"http://www.lydsy.com/JudgeOnline/problem.php?id=1115" 差分后变成阶梯博弈。 阅读全文
摘要:
"http://uoj.ac/problem/171" 带花树开花时的u和v一定要记清楚顺序,想好了再写,数据范围也要算好! 对每个筐子拆成3个点,连成一个三元环,对每个(u,v),让u和v的3个点都连边,这样跑一般图最大匹配(先增广每个球),可以发现所有的球都能放到一个筐子里,而且半空的筐子代表的 阅读全文
摘要:
"http://uoj.ac/problem/79" 带花树模板,做法详见cyb的论文或fhq的博客。 带花树每次对一个未盖点bfs增广,遇到奇环就用并查集缩环变成花(一个点),同时记录每个点的Next(表示匹配),状态s( 1表示这个点没访问过,0表示这个点可以搜另一条相邻的未盖边,1表示这个点不 阅读全文
摘要:
"http://uoj.ac/problem/198" (先补一下以前的题解) 这道题5分暴力好写好调,链上部分分可以用可持久化线段树,每次旅行$x$值相同的可以用标记永久化线段树。我还听到某些神犇说可以用KD Treebalabalabala。 很显然$y,z$坐标都没用。然后。。。 在一个时空中 阅读全文
摘要:
"http://uoj.ac/problem/201" 别人都一眼秒的题对我而言怎么那么难qwq 这道题就是要构造一个n n的邻接矩阵,满足矩阵$A$是一个拉丁方阵(也是数独?),$a_{ij}=a_{ji}$,并且$i,j\in\{1,2\dots n\},a_{ii}=a_{jj}$。 我乱画了 阅读全文
摘要:
"http://uoj.ac/problem/179" 终于写出来了单纯性算法的板子,抄的网上大爷的qwq 辅助线性规划找非基变量时要加个随机化才能A,我也不知道为什么,卡精度吗? 2017 3 6UPD:问了网上的大爷,知道是防止被卡时间(因为单纯形的复杂度是指数级的)。 c++ include 阅读全文