摘要:
数据结构,支持区间查询,单点修改或区间修改,单点查询。 单点修改操作: 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)

浙公网安备 33010602011771号