摘要: C. Concatenation 原题https://www.luogu.com.cn/problem/P1012 直接排序略卡常 #include<bits/stdc++.h> #pragma GCC optimize(2) #define int long long using namespac 阅读全文
posted @ 2022-07-27 21:09 Orzjh 阅读(44) 评论(2) 推荐(1)
摘要: F. NIO with String Game 对所有询问离线,并对q次询问后的所有T串建立Trie树,发现若某个串的字典序大于另一个串,则其在Trie上的DFS序大于另一个串。 DFS求得DFS序后建立线段树或树状数组,对每个T串,将所有DFS序大于其的节点+1。 对于S串,我们可以利用倍增法在T 阅读全文
posted @ 2022-07-27 19:43 Orzjh 阅读(47) 评论(0) 推荐(0)
摘要: A. Static Query on Tree 将集合 $|A|,|B|,|C|$ 内取出的点记为 $a,\ b,\ c$,我们可以从题目条件中提取三个信息 ① 满足要求的点一定在 a到c 的这条链上 ② 满足要求的点一定在 b到c 的这条链上 ③ 满足要求的点一定在 c 的子树内 利用树链剖分+线 阅读全文
posted @ 2022-07-26 09:50 Orzjh 阅读(96) 评论(0) 推荐(0)
摘要: A. String 首先通过KMP建立失配树,节点u的所有祖先都为其border,满足第二个条件。 对于条件三,我们需要满足 ① 必须有相交部分,② 相交部分长度被 $k$ 整除。 对于①,我们在失配树上DFS,并利用双指针维护当前链,保证当前链的长度$len > \lfloor \frac{u}{ 阅读全文
posted @ 2022-07-26 09:43 Orzjh 阅读(138) 评论(0) 推荐(0)
摘要: A. Villages: Landlines 用坐标和半径转化为区间,问题转化为: 令$n$个区间的每一个区间至少与另外一个区间有交集,不相交则延长区间直到相交,问最小延长长度。 按右端点降序排序,每次遍历存储最小的左端点,发现当前区间右端点小于现在的最小左端点时更新答案。 #include<bit 阅读全文
posted @ 2022-07-26 09:42 Orzjh 阅读(43) 评论(0) 推荐(0)