摘要: 数据结构,支持区间查询,单点修改或区间修改,单点查询。 单点修改操作: void modify(int x,int val) { while(x<N){ c[x]+=val; x+=lowbit(x); } } 查询前缀和: int query(int x) { int res=0; while(x 阅读全文
posted @ 2023-10-13 21:48 lza0v0 阅读(24) 评论(0) 推荐(0)
摘要: P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并 有 \(n(n≤10^5)\) 个点,形成树状结构。 有 \(m(m≤10^5)\) 次发放操作,每次选择两个点 \(x,y\) ,对 \(x\) 到 \(y\) 的路径上(包括 \(x,y\))的每个点发放一个 \(z(z≤10^5 阅读全文
posted @ 2023-10-13 21:47 lza0v0 阅读(42) 评论(1) 推荐(1)
摘要: 权值线段树 思路: 现将数值离散化 每个节点存的是值在 \(l\) ~ \(r\) 之间的数的个数,用线段树维护 作用: 求 \(k\) 小值 或 \(k\) 大值 查某一数值的排名 查询数组排序 查前驱、后继 求逆序对 相比平衡树:码量小、简单 P1801 黑匣子 离散化: sort(alls.b 阅读全文
posted @ 2023-10-13 21:44 lza0v0 阅读(26) 评论(0) 推荐(0)
摘要: 对于无向图: 欧拉路的起点和终点的度数为奇数,其余点的度数为偶数。 若起点和终点的度数也都为偶数,则为欧拉回路。 对于有向图: 欧拉路的起点出度比入度大 \(1\) ,终点的入度比出度大 \(1\) , 其余点出度和入度相等。 若起点和终点入度、出度相等,则为欧拉回路。 dfs求欧拉路 每次递归寻找 阅读全文
posted @ 2023-10-13 21:43 lza0v0 阅读(28) 评论(0) 推荐(0)
摘要: 最短路 单源最短路: 边权为正: 朴素版 \(dijkstra\) 复杂度 \(O(n^2)\) 思想: 循环 \(n\) 次,每次找到还没有被标记过的 \(dist\) 值最小的节点 \(u\) 用 \(u\) 来更新其他节点的 \(dist\) : \(dist[j]=\min(dist[j], 阅读全文
posted @ 2023-10-12 21:58 lza0v0 阅读(51) 评论(0) 推荐(0)
摘要: 问题1: 1,将树从x到y结点最短路径上所有节点的值都加上z 2,求树从x到y结点最短路径上所有节点的值之和 树链剖分(重链剖分)能很好解决这两点,复杂度$\mathcal{O(nlogn)} $ 核心思想: 把每个节点所在子树最大的子节点定义为重儿子,与其相连的边为重边,其他为轻边 重链由重边组成 阅读全文
posted @ 2023-10-12 21:56 lza0v0 阅读(67) 评论(0) 推荐(0)
摘要: 点分治 1.给定一个带边权的树,共有 \(m\) 个询问,询问距离为 \(k\) 的点对是否存在 做法1:暴力dfs 做法2:\(lca\) (时间复杂度\(O(n^2\log n)\)) 做法3:点分治 (时间复杂度\(O(n\log n)\)) 思路: 1.取一个节点 \(u\) 2.统计经过\ 阅读全文
posted @ 2023-10-12 21:52 lza0v0 阅读(38) 评论(0) 推荐(0)
摘要: 中国剩余定理 P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪 问题: 对于方程组 \(x \equiv b_1 (\bmod\) \(p_1)\) \(x \equiv b_2 (\bmod\) \(p_2)\) …… \(x \equiv b_n (\bmod\) \(p_n)\) 满足任 阅读全文
posted @ 2023-10-12 21:50 lza0v0 阅读(49) 评论(0) 推荐(0)
摘要: 质数筛 线性筛法: 保证每个数都被其最小质因数给筛掉。 代码: void solve() { for(int i=2;i<=n;i++){ if(!st[i])primes[++tot]=i; for(int j=1;j<=tot;j++){ st[i*primes[j]]=true; if(i%p 阅读全文
posted @ 2023-10-12 21:42 lza0v0 阅读(43) 评论(0) 推荐(0)
摘要: 后缀数组SA \(rank[i]\):后缀i~n的排名 \(sa[i]\):排名为i的后缀的起始下标 \(h[i]\):起始下标为i的后缀和比它前一名的后缀的最长公共前缀 \(height[i]\) 排名为i的后缀和比它前一名的后缀的最长公共前缀 求sa数组 \(Olog(n)\) 代码: #inc 阅读全文
posted @ 2023-10-12 21:34 lza0v0 阅读(25) 评论(0) 推荐(1)