03 2023 档案
摘要:## 数据结构总结 ### 树状数据结构 #### 树状数组 树状数组上的每个节点$i$维护了从$i-lowbit(i)+1$到$i$的信息,其中$lowbit(i)$表示$i$二进制下最低位的1,大致如图:  题意:求$S$的所有出现次数大于1的子串的出现次数乘上长度的最大值。 思路:建出SAM后,预处理出每个节点的子串的出现次数,然后统计答案即可。 2.P2408 不同子串个数 题意:求不同子串个数。 思路:考虑到SAM上从根节点到每个节点的路径都是一
阅读全文
摘要:长链剖分总结 长链剖分,顾名思义,就是按照链长(即深度)把树剖成若干条链。具体的,定义每个点的儿子中,子树深度最大的点是重儿子,不断跳重儿子形成的链也就是长链。 长链剖分的性质: 1.从一个点向上跳长链的次数不会超过$\sqrt n$次。 证明:考虑每跳到一条新的链上,这条链一定比前一条链长,而最坏
阅读全文
摘要:矩阵树定理 对于无向图$G$,定义度数矩阵$D$满足: $$D(i,j)=\begin{cases}deg_i&i=j\0&i\neq j\end{cases}$$ 对于有向图$G$,定义$D^{in}$为图$G$的入度矩阵,$D^{out}$为图$G$的出度矩阵,同样有: $$D^{in}(i,j
阅读全文
摘要:2023GDKOI总结 说明:不是GD选手,只是因为来zsjz集训就顺便参加了GDKOI,不过也不参与GD选手排名。 考前看了看GDKOI2021的题,当时是考了3天,每天4题,而里面只有一道题是我一眼能看出来做法的,所以感觉考试的难度不小。 Day1 考试是8:30开始。先打开了VScode,发现
阅读全文
摘要:## 杜教筛 #### 前置知识 积性函数:对于任意的$\gcd(i,j)=1$,$f(i)\times f(j)=f(ij)$。 完全积性函数:对于任意的$i,j$,$f(i)\times f(j)=f(ij)$。 $\epsilon(x)=[x==1]$,$I(x)=1$,$id(x)=x$,$
阅读全文
摘要:小科技之卷积解决字符串匹配问题 OI中有各种字符串匹配问题,常见的有单模式串匹配、多模式串匹配和子串匹配等,一般可以用KMP、AC自动机、SAM解决。如果涉及到其他形式的单模式串匹配,这些传统的方式很不好解决,有没有更灵活的处理方法或者通法呢? 答案是有的,而且就是耳熟能详的FFT/NTT。 我们先
阅读全文
摘要:CF1801B题解 传送门 更好的阅读体验 简化题意:有 n 个商店,每个商店卖 a,b 两种商品,价格分别为 $a_i,b_i$,你需要在每个商店买一个商品,并且不能在所有商店都买同一种商品,最小化买的最贵的 a 商品和买的最贵的 b 商品的价格差的绝对值。 思路:首先观察到数据范围是 $n\le
阅读全文
摘要:1.CF613D Kingdom and its Cities 题意:给定一棵树,每个询问给出一些关键点,要求删掉最少的点使这些点两两不联通,无解输出-1。 思路:先判无解:只要有一个关键点的父亲也是关键点就无解。因为会被删除的点肯定是这些点中一些点的\(lca\),所以考虑建虚树,然后树形DP。具
阅读全文