
数据结构
文章平均质量分 92
翞达羌
添加个人签名
展开
-
【题目】IOI2018 狼人
题目大意给出一张NNN个点MMM条边的无向图,保证图连通。你有QQQ个行程,第iii个行程的起点是SiS_iSi,终点是EiE_iEi。在每个行程开始时你必须是人形,在每个行程结束时你必须是狼形,且途中只能在[Li,Ri][L_i,R_i][Li,Ri]内的某个点变身。问每次行程能否完成。N⩽200000N\leqslant 200000N⩽200000,M⩽400000M\leqsl...原创 2020-02-17 09:28:08 · 332 阅读 · 0 评论 -
【题目】NOI2014 动物园
题目大意题目首先花了大量篇幅介绍了KMP算法。其中包括回退数组nextnextnext:对于字符串SSS的前iii个字符构成的子串,既是它的后缀又是它的前缀的字符串中(它本身除外),最长的长度记作next[i]next[i]next[i]。例如SSS为abcababcabcababcabcababc,则next[5]=2next[5]=2next[5]=2。因为SSS的前555个字符为ab...原创 2019-10-27 08:20:29 · 609 阅读 · 0 评论 -
【题目】湖南集训 谈笑风生
题目大意给出一棵nnn个节点的有根树,其中111为根结点。有qqq个询问,询问给定两个整数ppp和kkk,问有多少个有序三元组(a,b,c)(a,b,c)(a,b,c)满足:a,b,ca,b,ca,b,c为树上三个不同的点,且aaa为ppp号节点。a,ba,ba,b都是ccc的祖先。a,ba,ba,b在树上的距离不超过kkk。n⩽300000n\leqslant 300000n⩽30...原创 2019-08-19 23:41:37 · 288 阅读 · 1 评论 -
【树形结构】树链剖分
恶心至极树链就是树上的路径。将一棵树划分成若干条链,用数据结构(线段树,平衡树等)去维护每条链,复杂度为O(log2n)O(\log_2n)O(log2n)。重链剖分定义size(x)size(x)size(x)为以xxx为根的子树的节点个数。令vvv为uuu的儿子节点中sizesizesize值最大的节点,那么边(u,v)(u,v)(u,v)被称为重边,树中重边之外的边被称为轻...原创 2020-02-17 09:33:39 · 484 阅读 · 0 评论 -
【字符串】后缀自动机
后缀自动机对给定字符串sss的后缀自动机是一个最小化确定有限状态自动机,它能够接收字符串sss的所有后缀。可以在线性时间内、使用线性空间构造出一个以开始状态为原点、以接受状态为中间节点的有向无环图。这个有向无环图存储了字符串sss的所有信息。SAM中从根结点出发的每一条路径都表示母串的一个子串。struct node{map<int,int>son;int max,fa;};...原创 2019-04-29 00:20:41 · 601 阅读 · 2 评论 -
【字符串】KMP算法
KPKPKMPKMP算法真のKMP算法在线性时间复杂度内匹配字符串(判断串BBB是否是串AAA的子串,并找出串BBB在串AAA中出现的位置)。暴力匹配方法:把BBB的第一位与AAA的每一位进行比较,若匹配则继续向后比较,否则将BBB后移。时间复杂度:O(n2)O(n^2)O(n2)当比较到BBB的某个位置与AAA不匹配时,这个位置前的部分已经被比较过了,若继续逐个比较就会导致效...原创 2019-05-02 11:19:40 · 552 阅读 · 0 评论