摘要:
Luogu P3805 manacher算法 马拉车算法是求最长回文串的算法,其核心在于减少了冗余的重复计算,利用当前已知的数据尽可能的推出之后的数据,从而达到线性的复杂度。 我认为这个算法的核心之处是充分利用了回文串的对称性。 首先是处理回文串的一个小技巧,对于奇偶回文串,我们只需要在相邻的两个字 阅读全文
摘要:
Div1.A 套路对每一位考虑,不难发现当前位要消掉,\(k\) 一定要是这个位 \(1\) 的个数的因数,所以对所有位的 \(1\) 的个数取 \(gcd\) 就好了,别忘了特判全 \(0\) code Div1.B 考虑贪心,发现对于当前深度 \(now\),我们能跳到的区间是 \([now-a 阅读全文
摘要:
退役赛了 T1 做过类似的,10min回忆起预处理做法,但是就是顺序挂掉了,应该先给1号廊桥安排满再考虑下一个廊桥,而不是开个栈 类似 T2 指数级过不了没看 T3 纯没看 T4 贪心假了 阅读全文
摘要:
如何构建 当运行 $Kruskal$ 算法找到当前一条可加入的边时,设左右端点在并查集中的所属位置和边权分别为 $x,y,val$,在新图上新建一个节点 $T$,并加入 $(T,x),(T,y)$ 两条边(可以直接加有向边,因为新图中的树的根和方向都固定了),并把 $T$ 的点权赋为 $v 阅读全文
摘要:
欧拉函数 $φ(i)$ 欧拉函数是 $1\sim n$ 的数中与 $n$ 互质的个数,常写成 phi。 如何筛: void init(){ phi[1]=1; for(int i=2;i<=n;i++){ if(!vis[i]){phi[i]=i-1;prime[++cnt]=i;} for(int 阅读全文
摘要:
是什么 是神仙数据结构,可以维护一些持久化的东西,是我们的伟大领袖。 可持久化的意思就是记录每个历史版本,可以根据历史版本做一些操作。 怎么做 如果对于每个版本都开一棵线段树那空间受不了,我们考虑对每个版本产生修改的链开新的节点,打补丁一样附加在原树上。 具体实现因题而异 void insert(i 阅读全文
摘要:
套路 恰好和至多的转换 如果要求某些东西恰好有 $k$ 个的时候,有时候会很难算,而求至多有 $k$ 个的时候会很好算。 设 $f_i$ 表示至多有 $k$ 个的方案数,$g_i$ 表示恰好有 $k$ 个的方案数,则有 $$f_k=\sum\limits_{i=0}^k \binom{k}{i}g_ 阅读全文
摘要:
扩展欧拉定理 \(a^b\equiv\begin{cases}a^{b \bmod φ(m)}\quad(gcd(a,b)=1)\\ a^b \quad (gcd(a,m)\neq 1,b<φ(m))\\a^{b \bmod φ(m)+φ(m)}\quad(b⩾φ(m))\end{cases}\pm 阅读全文
摘要:
挂分挂没了 Day 0 到了江西师大,竟然是晴天,很热很热,听说赣北很冷,我还特地穿了棉袄来,措不及防。也许是穿太多的缘故,我过测温的时候直接 \(37.5 ^{\circ}C\),还好保安没在意,就进校园了。 午饭还是在NOIP的老地方吃的,还行吧,都是老味道。吃完后就去宾馆了,分房间的时候就跟w 阅读全文