摘要:
应用 O(n)求以每个节点为中心的回文串长度 原理 1、对S=“hshbvbhshb”,每个字符之间插入“#”,以便统一奇偶长度回文串。并在最前插入"^",左右扩展边界时才不会访问到-1,右边不用是因为自带"\0"。得到T="^#h#s#h#b#v#b#h#s#h#b#" 2、定义p[i]为T中i位 阅读全文
摘要:
1.调换搜索顺序 2.调换枚举顺序 3.快读快输 4.位运算 5.循环展开 6.register 7.long long只在必要开 8.函数里在if里return 9.火车头 %:pragma GCC optimize(3) %:pragma GCC optimize("Ofast") %:prag 阅读全文
摘要:
思路很简单,但非常考验代码能力 思路 假设对区间[2,8]进行操作 路径由lca 15分成左右俩条链。将左端点2跳到最右上17,对左链17-16-10-15上每个作为左儿子的节点的兄弟操作。 于是构造新树:节点的新父亲为最近异侧祖先的同侧儿子 (手画略丑请忽略) 链上区间操作——树链剖分 一共有三棵 阅读全文
摘要:
6.11 0 T1 烷基计数 0 dpi为点数为i的树的个数,fi点数为i且只有两棵子树的树的个数,再加一维j,为较小子树点数<=j的个数维护前缀和,保证子树点数不下降 由此,O(n3)优化到O(n2) 觉得自己A了,忽视子树点数相等的去重,爆0 想手摸10没摸出来,刚好前几个记得的都对了,直接交代 阅读全文
摘要:
点分治 询问树上距离为 k 的点对是否存在。 #include<bits/stdc++.h> using namespace std; const int MAX=20010; const int inf=1.5e8; int n,m,x,y,z,q[MAX],rt,siz[MAX],maxx[MA 阅读全文
摘要:
一 快速幂 inline int power(int a,int b){ int res=1; while(b){ if(b&1) res=res*a%mod; a=a*a%mod;b>>=1; }return res; } 线性筛素数 inline void merge(){ is[1]=1; f 阅读全文
摘要:
Floyed for(int i=1;i<=e;i++){ a=read();b=read();w=read(); dis[a][b]=dis[b][a]=min(dis[a][b],w); }for(int i=1;i<=v;++i) dis[i][i]=0; for(int l=1;l<=v;l 阅读全文
摘要:
1、学校成绩 2、画图 3、电影 4、游戏 5、大质数 6、骗分 7、专题题库 镜像 镜像2 8、联测题库 9、florr localStorage.cp6_player_id="728228f9-3e97-44e7-9f2d-38b4006b5019" 阅读全文