摘要: posted on 2021-09-04 20:03:43 | under 模板 | source 点击查看代码 template <int N, int M, class T> struct graph { int head[N + 10], nxt[M << 1], cnt; struct ed 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(55) 评论(0) 推荐(0)
摘要: posted on 2022-07-21 14:10:58 | under 模板 | source typedef long long LL; template<int N> struct fhqtreap{ int val[N+10],pri[N+10],siz[N+10],x,y,z,root; 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(50) 评论(0) 推荐(0)
摘要: posted on 2022-09-17 15:59:26 | under 模板 | source code LL mod(LL x,LL m){return(x%m+m)%m;} LL exgcd(LL a,LL b,LL c,LL& x,LL& y){ if(!b) return x=c/a,y 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(151) 评论(0) 推荐(0)
摘要: posted on 2021-08-17 09:15:04 | under 模板 | source 可清空 template<int N> struct fenwick{ int t[N + 10]; fenwick() { memset(t, 0, sizeof t); } void add(in 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(104) 评论(0) 推荐(0)
摘要: posted on 2022-08-07 17:04:40 | under 模板 | source 目录后缀数组code证明 \(rnk_{sa_i+j}\) 只会越界到 \(n+1\)证明解决方法构造数据求两个后缀的 LCP求 \(S[l,r]\) 在原串的出现次数本质不同的子串个数(位置不同算相 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(105) 评论(0) 推荐(0)
摘要: posted on 2022-08-07 20:50:14 | under 模板 | source updated on 20230727:增补更多细节,合并广义 SAM 相关。 点击查看闲话 广义后缀自动机,建议看这篇理解会更深(口语化警告) <- 已经加入后缀自动机豪华套餐 保存:基本子串结构 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(335) 评论(0) 推荐(0)
摘要: posted on 2022-01-25 18:52:13 | under 模板 | source typedef long long LL; const int P = 998244353; template <int N, int M, class T = LL> struct matrix { 阅读全文
posted @ 2022-11-06 19:17 caijianhong 阅读(42) 评论(0) 推荐(0)
摘要: posted on 2022-10-23 13:50:24 | under 模板 | source problem 给定一个二维平面,多次询问 $x\in[l_x,r_x],y\in[l_y,r_y]$ 的点有多少个。 solution 1(静态+在线):可持久化线段树 将 $x\in[1,l]$ 阅读全文
posted @ 2022-11-06 19:16 caijianhong 阅读(150) 评论(0) 推荐(0)
摘要: posted on 2021-11-27 22:37:04 | under 模板 | source sto crxis 注:不是 tarjan void crxis(int u){ for(int i=g.head[u];i;i=g.nxt[i]){ int v=g[i].v; if(dep[v]= 阅读全文
posted @ 2022-11-06 19:16 caijianhong 阅读(61) 评论(0) 推荐(0)
摘要: posted on 2022-07-20 18:59:16 | under 模板 | source 0x00 模板(P3806) 给定 $n,k$ 和一棵树,计算 $$\sum\limits_{i,j\leq n}[{\tt dist}(i,j)=k]$$ 即树上距离为 $k$ 的点对数量。 点分治 阅读全文
posted @ 2022-11-06 19:12 caijianhong 阅读(70) 评论(0) 推荐(0)
摘要: posted on 2021-09-12 15:49:52 | under 模板 | source 感觉不如直接复制 template <int N> struct dsu { int fa[N + 10], siz[N + 10], cnt; explicit dsu(int n = N) : c 阅读全文
posted @ 2022-11-06 19:12 caijianhong 阅读(188) 评论(0) 推荐(0)
摘要: posted on 2022-07-22 19:15:58 | under 模板 | source template<int N,class T=int,int logN=20> struct STable{ int tot,lg[N+10];T f[logN+1][N+10]; STable(): 阅读全文
posted @ 2022-11-06 19:12 caijianhong 阅读(50) 评论(0) 推荐(0)
摘要: posted on 2022-10-18 13:30:17 | under 模板 | source const char* name="bit"; #include <cstdio> #include <cstring> #include <algorithm> using namespace st 阅读全文
posted @ 2022-11-06 19:11 caijianhong 阅读(29) 评论(0) 推荐(0)
摘要: posted on 2022-08-17 18:05:59 | under 模板 | source template<int N> struct lctree{ int val[N+10],sum[N+10],fa[N+10],ch[N+10][2],rev[N+10]; bool getson(i 阅读全文
posted @ 2022-11-06 19:11 caijianhong 阅读(31) 评论(0) 推荐(0)
摘要: posted on 2022-07-21 17:03:54 | under 模板 | source (介绍等会补) 调试: getpre、getsuf、find 手写,常数不要乘以二。 UB:getkth 和 getrnk 叠起来的时候 root 会改! UB:getpre、getsuf 的 val 阅读全文
posted @ 2022-11-06 19:11 caijianhong 阅读(36) 评论(0) 推荐(0)