摘要:
这题还有一个更加朴实无华的维护方法。 对于条件期望,我们有: \(E(A|B)=\dfrac{E(AB)}{P(B)}\) (可以这样理解:\(E(A|B)P(B)=E(AB)\),即事件 \(B\) 发生的概率乘在 \(B\) 发生前提下事件 \(A\) 的期望就是 \(A\) 和 \(B\) 同 阅读全文
摘要:
场上的小丑做法不请自来。 开题:SAM 的萌萌题?这数据范围的不对劲啊。哦,Z 函数就能做了,我降智了。(此时还没意识到自己还是降智了) problem 给定字符串 \(\texttt{S}\) 和 \(\texttt{T}\),要求将 \(\texttt{S}\) 划分成最少的段,且每段是 \(\ 阅读全文
摘要:
考虑 kruskal 的过程,实际上 MST 的构成只和按边权排序后结果有关。考虑任意两条边 \(i\) 和 \(j\) 之间的大小关系以 \(x=\dfrac{w_i+w_j}{2}\) 为界,只有 \(O(m^2)\) 种 MST ,我们可以对于每种情况跑出对应的 MST,此部分的时间复杂度为 阅读全文
摘要:
提供一个感觉比较优美的做法(不需要分类讨论)。 我们发现将这些数看成二进制数字符串后,\(\operatorname{xor}\) 和 lcp 是很相似的;那么类比 sa 关于后缀之间的 lcp 的那个结论,我们可以发现,将这些数按字典序排序后得到 \(a\) 序列,那么 \(a\) 的一个子序列 阅读全文
摘要:
赛场上没看见 \(\sum n\leq1000\),于是就有个这个 \(O(Tn\log n)\) 的做法。 首先按照区间长度从大到小排序(相当于一次拓扑),然后考虑对于一个区间 \([l_i,r_i]\),在满足 $len_j<len_i $ 的所有区间中: 若不存在 \(l_j=l_i\),则当 阅读全文
摘要:
来个不用动脑子的树剖维护做法 按中序遍历将树推平得到字符串 \(s\),从前向后遍历该字符串,设 \(nex_i\) 表示满足 \(s_i\neq s_j\) 且 \(i<j\) 的最小位置 \(j\)。若 \(s_i<s_{nex_i}\),则要尽量满足复制当前的节点,查询该节点到根的路径中有没复 阅读全文
摘要:
来个暴力广义后缀自动机做法( 对于这一堆字符串建立广义后缀自动机,在插入时对于每个节点标记上该节点代表的 \(endpos\) 中最长串是哪个串的前缀,显然若节点 \(x\) 在各个串出现的集合为 parent 树中节点 \(x\) 子树的标记的并集。 线段树合并统计答案?但是一共只有 \(n\le 阅读全文
摘要:
有一个不需要主席树的时间 \(O(n\log^2 n)\) 、空间 $O(n)$做法。 考虑贪心,对于划分出的每个区间使其在满足 \(k\) 的限制下最长,一定不劣。即对于每个 \(k\),每次固定当前区间 \([l,r]\) 的 \(l\) (初始时 \(l=1\)) ,满足 \(k\) 的限制下 阅读全文
摘要:
这是一篇带着牢骚的题解(见末尾),为了纪念我支离破碎的 CSP2021。 括号串题,考场上第一眼看过去以为 * 能在满足 \(k\) 的情况下随便插入,于是设 \(f[i][j][k]\) 表示前 \(i\) 个字符、有 \(j\) 个带匹配的 (、并且末尾有 \(k\) 个连续 * 的合法串数量, 阅读全文
摘要:
讲一种另类的做法。 第一问直接一遍 floyd。 第二问,首先考虑暴力,枚举删掉哪条边,然后作 floyd,时间复杂度是 \(O(n^3m)\),无法接受。 然后考虑优化,在上述暴力中,我们发现其实有很多信息被浪费了,比如由边集 \(\{1,2,3,5\}\) 构成的图和由边集 \(\{1,2,3, 阅读全文