上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 50 下一页
摘要: 容易发现对于插入 xxx,如果我们找到了 xxx 的前驱 ppp 和后继 nnn,那么 xxx 一定位于 ppp 或 nnn 的某个儿子上。 仔细观察,发现 xxx 会位于 ppp 和 nnn 中深度较大的一个的儿子上。 于是我们依次插入每个数,查前驱后继,并且更新深度。 然后可以直接用 set 做 阅读全文
posted @ 2023-05-02 21:18 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要: 可以用 SAM 来做,只不过空间常数稍大。 考虑建出后缀自动机后,用 fafafa 树维护 Endpos\text{Endpos}Endpos 集合大小即可,非常经典的用 SAM 做的问题。 #include <bits/stdc++.h> using namespace std; const in 阅读全文
posted @ 2023-04-22 13:31 HappyBobb 阅读(5) 评论(0) 推荐(0)
摘要: 先考虑对图黑白染色,并且设 SSS 和 TTT 分别为源点和汇点。容易发现,四联通的两个点,肯定是一个黑一个白。 我们对于所有黑点 (i,j)(i,j)(i,j),我们令 u=(i−1)×m+ju=(i-1) \times m + ju=(i−1)×m+j,从 SSS 到 uuu 连一条容量为 ai 阅读全文
posted @ 2023-04-20 19:38 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 先考虑能否逃出。 我们不妨设删去的边的两点编号为 u,vu,vu,v,其中 uuu 是 vvv 的父亲。 容易发现当且仅当 RRR 在 vvv 的子树中时无法逃出,即 RRR 和 vvv 的 LCA 为 vvv。可以通过树剖等处理。 我们假设不能逃出,那么需要考虑能否到商店。因为已经无法逃出,那么 阅读全文
posted @ 2023-04-10 18:46 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 考虑建出圆方树。 对于任意两个点,其路径中必须要经过的点就是这两个点对应的圆方树中点的路径之间圆点数量。也就是割点数量。 于是 LCA 处理即可。 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> 阅读全文
posted @ 2023-04-05 16:42 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要: 第 300300300 篇题解当然要写个有意思的题。 lxl 给出的标答是根号分治,不过也有序列分块的做法,只不过非常需要卡常。 我们先对序列分块。接着我们考虑怎么处理询问。 显然询问的结果有两种: 在块内的答案。这种可以通过预处理 disi,j,kdis_{i,j,k}disi,j,k​ 表示第 阅读全文
posted @ 2023-03-23 07:36 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要: 什么板子能评 230023002300。 建完 SAM,对于每一个点,其表示字符串个数为 lenu−lenfaulen_u - len_{fa_u}lenu​−lenfau​​,出现次数可以通过 link⁡\operatorname{link}link 边,即后缀链接线性求出,也是套路了。 然后算贡 阅读全文
posted @ 2023-03-08 20:44 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要: SP1693 COCONUTS - Coconuts 算法:网络流,最小割。 难度:提高+/省选-。 考虑对于所有 111 的从 SSS 连边,所有 000 的往 TTT 连边。朋友之间连一条无向边。删掉朋友之间的一条边相当于看法不一致的一对朋友,删掉每个点和其所连的源点或汇点,相当于与自己想法不一 阅读全文
posted @ 2023-03-07 18:50 HappyBobb 阅读(16) 评论(0) 推荐(0)
摘要: 容易发现 LLL 是可以二分的。 接着考虑二分如何 check。 比较容易思考的思路是 DP,设 fif_ifi​ 表示前 iii 个字符的熟悉子串最长的长度之和。设当前二分的是 LLL,那么 fi=max⁡{fi−1,max⁡j∈[i−maxleni,i−L]fj+(i−j)}f_i = \max 阅读全文
posted @ 2023-03-04 14:22 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要: 显然可以直接差分。 但是我看题的时候看成了多次查询。 所以我就写了个线段树。 注意到一个油漆桶被多次覆盖一个颜色是没有贡献的,所以考虑线段树的每个节点维护 c[0/1][0/1][0/1] 分别表示 333 种原色是否出现的方案数。 接着维护一个 tag,可以使用 unordered_set 等结构 阅读全文
posted @ 2023-02-28 21:04 HappyBobb 阅读(68) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 50 下一页