随笔分类 - 数据结构——线段树——线段树、树状数组
摘要:atcoder abc 244 D - swap hats 给定两个 R,G,B 的排列 进行刚好 \(10^{18}\) 次操作,每一次选择两个交换 问最后能否相同 刚好 \(10^{18}\) 次 算出交换最少次数,判断是否为偶数。 E - King Bombee \(n\) 点 \(m\) 边
阅读全文
摘要:20220506模拟赛 溜冰 题意 \(n\) 点 \(m\) 边,高度为 \(h_i\) ,若经过边$(u,v)$ 从 \(u\) 到 \(v\) \(h_u<h_v\) ,开心值减少 \(2(h_v-h_u)\) \(h_u>h_v\) ,开心值增加 \(h_u-h_v\) \(h_u=h_v\
阅读全文
摘要:最小步数 题意 \(n+1\) 行 \(m\) 列的表格,从最第一行任意点开始,每次向右或向下走一格 对于 \(1\le i\le n\) 有区间 \([A_i,B_i]\) 在这些各自上时,不能向下移动。 对于 \(2\le K\le H+1\) ,求出从第一行到第 \(K\) 行的最少步数 so
阅读全文
摘要:寒假 杂题题解 大根堆 题意 从一棵树上选出尽可能多的点,满足大根堆性质 即对于 \(i,j\) 若 \(j\) 是 \(i\) 是 \(j\) 的祖先,则 \(v_i>v_j\),\(v\) 为点权 这些点不必形成这棵树的一个连通子树。\(n\le2\times10^5\) sol 由于点不需要相
阅读全文
摘要:T1 题意: \(n\) 个人摘苹果,跳起高度为 \(a_i\),苹果高度为 \(h_i\),高度小的先摘,摘了就没了 直接排序+双指针,复杂度 \(O(n+m)\) T2 题意:要轰炸一个有向图的所有点,如果存在两个不同点 \(i\) 和 \(j\) ,并且 \(i\)、\(j\) 连通 那么 \
阅读全文
摘要:T1 题目大意:有 \(n\) 个点,到点 \(i\) 可以获得 \(A_i\) ,同时消耗 \(B_i\) 若当前价值小于 \(B_i\) 则不能到,问从 \(P\) 开始,任一点结束后的最大值。 最大值同时问最多访问点数。开始不用消耗 其实就是把所有 \(A_i\ge B_i\) 的点存下来,然
阅读全文
摘要:T1 题意:给你一个图,可以不花代价经过 \(K\) 条边,问从起点到终点的最短路 考试的想法:设 \(dis_{i,j}\) 表示从起点免费了 \(j\) 条边到 \(i\) 的最短路 然后直接跑 \(\text{spfa}\) 结果:\(WA\) 正解:分层图,需要考虑去到下一层就不能回来的情况
阅读全文
摘要:题目大意 有一个 \(n\times m\) 的方阵,每次有 \((x,y)\) 离开,离开后有两个命令 向左看齐。这时第一列保持不动,所有学生向左填补空缺。这条指令之后,空位在第 \(x\) 行第 \(m\) 列。 向前看齐。这时第一行保持不动,所有学生向前填补空缺。这条指令之后,空位在第 \(n
阅读全文
摘要:T1 欧拉筛质数时若 \(i\) 是质数且没有被用过就顺便用于计算结果,复杂度 \(O(n)\) #include<bits/stdc++.h> using namespace std; inline int Rd() { register int x=0; char C=getchar(); fo
阅读全文
摘要:又是爆炸的一天,炸多了本蒟蒻已经习以为常 但今天比昨天整整高了 40 分!!!!却还是没有 100 今天本蒟蒻本想模仿奆佬的打字速度,结果思路混乱让我无法开始 T1 不是吧怎么是期望 dp ,期望值怎么求来着? 赛后:设 \(F_i\) 为第 i 颗星时的期望,\(F_0 = \dfrac{1}{p
阅读全文
摘要:Luogu LOJ 题目大意 有一颗依赖关系构成的一颗树,有两个操作 install ,把从 x 到根节点这一条链全都改为 1 uninstall ,把以 x 为根的子树全都变成 0 现在求每个操作会改变多少节点的值 题解 标准树剖,但是细节很多 懒标记开始为 -1,下传后也要变成 -1 聪明的做法
阅读全文
摘要:题目大意 有 T 组数据,每组数据有一个 N 表示有 N 个人一次贴海报 然后 N 对 \(L_i\ R_i\) 表示一张海报的范围,问最后能看见多少张海报 数据范围:\(n\le 10000\ \ L_i\ R_i\le 10^7\) 题解 (开始英语不好看不懂题折腾了半天) 可以看出是线段树区改
阅读全文
摘要:关于线段树 线段数是一种区间树 可以看出:叶子即为输入的数 假设一个节点为 x ,则其左儿子为 2x 右儿子为 2x+1 操作解析 约定 | 变量名 | 意义 | | | : : | | input[] | 输入的数 | | t[] | 线段树 | 其中 t[] 是个结构体,包含左边界 l ,右边界
阅读全文
摘要:关于树状数组 树状数组,即 Binary Indexed Tree ,主要用于维护查询前缀和 属于 log 型数据结构 和线段树比较 都是 log 级别 树状数组常数、耗费的空间、代码量都比线段树小 树状数组无法完成复杂的区间操作,功能有限 树状数组介绍 二叉树大家一定不陌生 然而真实的树状数组省去
阅读全文

浙公网安备 33010602011771号