文章分类 -  笔记

摘要:我们是怎么处理一条路径的呢?设这条路径端点是$u,v$,那么我们就可以把它当做$u-LCA(u,v)$和$LCA(u,v)-v$。 我们从端点开始,往LCA跳。 如果跳到轻边,直接处理即可,因为一条轻边两端一定有重边。 如果跳到重边,就用线段树维护一下,因为重边的下标一定在线段树中是连续的,跳到重链 阅读全文
posted @ 2022-08-13 13:34 s1monG 阅读(17) 评论(0) 推荐(0) 编辑
摘要:例题P2015 二叉苹果树 原问题可以转化为留下$q+1$个点,求最多点权。 $f_{u,i}$表示以u为子树,包括u留下i个点的最多点权。 u有两个儿子是l和r。 那么$f_{u,i}=\max(f_{l,j}+f_{r,i-j-1})+val_u(0\leq j\leq i-1)$ 例题P135 阅读全文
posted @ 2022-08-13 13:34 s1monG 阅读(21) 评论(0) 推荐(0) 编辑
摘要:为什么要 $j$ 指针在最小质因子时退出呢,因为一个数只能被其最小质因子筛去,否则就会用不是最小质因子向后筛。例如$15\times3=45$此时退出,要不然就会筛$15\times5=75$,而$75=3\times25$不应被5筛掉。 例题2 共有T次询问。如果一个正整数x小于N,而且x与N不互 阅读全文
posted @ 2022-08-13 13:34 s1monG 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Trie字典树 是一种字符串的存储结构,节省空间,同时可以查询是否有字符串是其前缀,也是异或xor操作的利器。 POJ 3630 Phone List 模板: #include<algorithm> #include<cstring> #include<cstdio> const int MAXN= 阅读全文
posted @ 2022-08-13 13:33 s1monG 阅读(19) 评论(0) 推荐(0) 编辑
摘要:树状数组 一种可以单点修改,查询前缀和的数据结构。 每次操作$O(\log n)$ void Modify(int x,int k) { for(; x<=n; x+=x&(-x)) t[x]+=k; } int Query(int x) { int res=0; for(; x; x-=x&(-x 阅读全文
posted @ 2022-08-13 13:32 s1monG 阅读(33) 评论(0) 推荐(0) 编辑
摘要:CDQ 分治 归并排序 来自《算法导论》。 #include<algorithm> #include<cstdio> const int MAXN=1e6; int n,a[MAXN+10],l[MAXN+10],r[MAXN+10]; long long ans; void merge(int p 阅读全文
posted @ 2022-08-13 13:32 s1monG 阅读(32) 评论(0) 推荐(0) 编辑
摘要:哈希 选取一个指质数为底数base(通常取131,13331,1e9+7,1e9+9),一个模数(通常取 unsigned long long 中自然溢出中的$2^{64}$)。 一个字符串$d$长度为$n$,哈希值为$h_n=\sum s_i \times base^i$。 它的子串$s-t$的哈 阅读全文
posted @ 2022-08-13 13:31 s1monG 阅读(155) 评论(0) 推荐(0) 编辑
摘要:Lca 定义:对于两个点,他们的最近公共祖先 是他们的祖先(或自己) 距离最近 $f_{i,j}$表示从节点i向上跳$2^j$步能到达的节点。 将较深的点跳到深度相同。 两个节点一起跳,直到相同。 如图:3和8的最近公共祖先是1。 树的深度为5,$\log_2 5=3$。更深的是8。 $f_{8,3 阅读全文
posted @ 2022-08-13 13:31 s1monG 阅读(43) 评论(0) 推荐(0) 编辑
摘要:单调栈 例题1:Luogu5788 求解数组中元素右边第一个比它大的元素的下标。 由于要求解的是右边第一个大的元素,所以从右往左遍历。 维护一个从右到左递减的单调栈,最右是无限高。 每当有元素将要进栈,为了维护单调性,必须把单调栈中比它小的元素全部弹出。 因为它们已经没有用了,不可能被弹出的元素是某 阅读全文
posted @ 2022-08-13 13:30 s1monG 阅读(45) 评论(0) 推荐(0) 编辑
摘要:二进制操作 将第k位设为1 x = x | (1 << k) 将第k位设为0 x = x & -(1 << k) 查询第k位 x & (1 << k) (x >> k) & 1 如果等于0,那么第k位是0,否则是1 状压dp 模板题:TSP问题(遍历每一个点)($n \leq 20$) 设$f_{s 阅读全文
posted @ 2022-08-13 13:30 s1monG 阅读(19) 评论(0) 推荐(0) 编辑