随笔分类 -  数据结构-----线段树

摘要:可以催更,但是不保证更 但是 \(2015\) 和 \(2016\) 年的题都好水啊,我都能随便切,所以不打算更新了。 2017 大佬 题目描述 点此看题 解法 《关于虽然评分是黑但是我还是感觉好水并且还是要写题解这件事》 观察发现存活和攻击是两件独立的事,所以对于最优方案我们只需要求出在保证存活的 阅读全文
posted @ 2022-01-23 15:17 C202044zxy 阅读(59) 评论(0) 推荐(1)
摘要:001F Wide Swap 题目描述 点此看题 解法 话说我在考试时候乱打个做法得了很多分,但是这题还是要保证每一步严谨最后才能搞懂啊。 首先有一个明显的 \(\tt observation\)(我这个辣鸡都观察出来了哦!):我们求出逆排列 \(q_{p_i}=i\),那么排列 \(q\) 上的交 阅读全文
posted @ 2022-01-20 11:00 C202044zxy 阅读(119) 评论(3) 推荐(1)
摘要:前言 受到 \(\tt werner\_yin\) 鸽鸽的启发,我要开始刷 \(\tt HNOI\) 了。 还是每天更至少三题的博客,\(\tt zxy\) 绝不断更。 结果一天真的就只更了三道题呗,我效率是真的低啊...刷题还是不能这么慢啊... 2018 排列 题目描述 点此看题 解法 题目描述 阅读全文
posted @ 2022-01-17 22:38 C202044zxy 阅读(254) 评论(1) 推荐(1)
摘要:一、题目 点此看题 二、解法 从计算答案的角度入手,我们不能逐个数地考虑它们能否构造出来,但是以防算重我们需要以异或结果的数为主体来考虑,建议给出的数是区间的形式,那么我们考虑一段一段地考虑数。 具体来说我们需要利用拆位的思想,我们将给定的区间分解成 \([k\cdot 2^y,(k+1)\cdot 阅读全文
posted @ 2022-01-13 19:04 C202044zxy 阅读(136) 评论(0) 推荐(1)
摘要:风之轨迹「miracle」 题目描述 有 \(n\) 个点 \(m\) 条边的有向无环图,定义路径长度为路径上边的数量。 问删掉一个点之后所得到的最大的路径长度,并且要求你输出删除的这个点(有多解输出最小的一个) \(n\leq 5\times 10^5,m\leq 10^6\) 解法 为了便于讨论 阅读全文
posted @ 2021-11-17 20:37 C202044zxy 阅读(183) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 这题真的比较清新而且有意思,你可以先做一下弱化版 这种区间套区间的问题猫树是通用解法,但是需要 \(O(n\log^2n)\) 而且口味很重,你可以把这道题的猫树解法魔改一下。 更好的做法还是移动右端点,维护每个左端点的历史答案,也就是当这个左端点被激活后每个右端点的贡 阅读全文
posted @ 2021-11-15 18:48 C202044zxy 阅读(48) 评论(0) 推荐(0)
摘要:Contest2 B. Bitwise Xor 题目描述 点此看题 有一个长度为 \(n\) 的数组 \(a\) 和一个整数 \(x\),要求满足如下条件子序列 \(b_1..b_k\) 的数量: \(\forall 1\leq i<j\leq k\ \ \ a_{b_i}\oplus a_{b_j 阅读全文
posted @ 2021-11-09 22:53 C202044zxy 阅读(198) 评论(0) 推荐(1)
摘要:一、题目 点此看题 当你 \(\tt Wa\) 了十几发之后,评测机都会嘲笑你,\(\tt wdnmd\),以后还是要写注释以免写错关键细节: 二、解法 直接考虑怎么建网络流模型,但是这题是两个点决定一个点(两个 \(0\) "匹配"中间一个权值),这个关系不太好建。考虑拆分,首先观察到我们按 \( 阅读全文
posted @ 2021-11-04 21:41 C202044zxy 阅读(145) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 直接上线段树维护,其实可以把每一个区间看成一个函数 \(f(x)\),表示如果传进来的初值是 \(x\) 那么得到的值是 \(f(x)\),如果我们成功维护出每个区间的 \(f(x)\) 那么只需要进行 \(\log\) 次函数运算得到答案。 不难发现 \(f(x)\) 阅读全文
posted @ 2021-10-31 11:19 C202044zxy 阅读(86) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 保留 \(\leq k\) 的数之后,考虑第 \(i\) 个数是作为极长段 \((l_i,r_i)\) 的最大值,那么答案是: \(\sum_{i=1}^{k}r_i-l_i-1\) 我们先考虑计算 \(A=\sum_{i=1}^kr_i\),考虑在增大 \(k\) 时 阅读全文
posted @ 2021-10-29 21:53 C202044zxy 阅读(144) 评论(0) 推荐(0)
摘要:一、题目 点此看题 有 \(n\) 个点和 \(m\) 个矿工,点构成以 \(1\) 为根的树形结构,所有矿工初始都在从 \(1\),如果他最后在 \(i\) 号点工作那么需要满足 \(1\) 到 \(i\) 路径上所有点的高度都大于等于矿工的高度。 你需要把每个矿工安排到一个点里面,最后每个点里最 阅读全文
posted @ 2021-10-25 14:31 C202044zxy 阅读(194) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 考虑如果这个问题放在一维上是具有单调性的,尺取法可以做到 \(O(n)\) 我们可以通过枚举上下边界把它变成一维问题,从左往右扫可以做到 \(O(n^3)\) 我们考虑优化掉边界枚举的过程,也就是我们固定上边界,移动下边界。设 \(f_l\) 表示在上下边界中 \(y= 阅读全文
posted @ 2021-10-22 11:07 C202044zxy 阅读(95) 评论(0) 推荐(0)
摘要:总结 这签到构造题我做不出也没有办法啊$...$ 还是感谢 \(\tt Oneindark\) 大佬的供题,希望她以后不要再出阴间构造题啦! Ciel and Flipboard 题目描述 点此看题 解法 我是这样打爆搜的,枚举左上角 \(m\times m\) 个元素的状态,那么整个矩阵的状态是唯 阅读全文
posted @ 2021-10-19 10:27 C202044zxy 阅读(351) 评论(0) 推荐(0)
摘要:一、题目 有两个字符串 \(A,B\),你需要对于所有 \(k\) 求出:从 \(A\) 中随机选一个长度为 \(k\) 的子串比从 \(B\) 中随机选一个长度为 \(k\) 的子串字典序小的概率、字典序相等的概率、字典序大的概率。 \(|A|,|B|\leq 2\cdot 10^5\) 二、解法 阅读全文
posted @ 2021-10-06 20:34 C202044zxy 阅读(89) 评论(0) 推荐(0)
摘要:一、题目 校长有一个体积为 \(x\) 的大套子,现在有 \(n\) 条人类,如果套子的体积严格大于人类的体积 \(y\),那么校长就会把这个人类装在套子里,套子的体积就会增加 \(y\) 有下列三种可能的事件: 校长得到了一个大小为 \(x\) 的套子,他想让套子的大小至少变成 \(y\),如果可 阅读全文
posted @ 2021-10-05 19:47 C202044zxy 阅读(128) 评论(0) 推荐(0)
摘要:一、题目 有一个长度为 \(n\) 的整数序列 \(a\),你需要回答 \(m\) 个询问,每次给出 \(L,R\),求下列式子的值: \(\sum_{l=L}^R\sum_{r=l}^R(\max_{i=l}^r s_i)\cdot (\min_{i=l}^rs_i)\) \(n,m\leq 10 阅读全文
posted @ 2021-10-03 20:49 C202044zxy 阅读(505) 评论(0) 推荐(1)
摘要:## 一、题目 [点此看题](https://www.luogu.com.cn/problem/CF1556G) ## 二、解法 考虑本题数据范围极大并且删除操作是以区间的形式给出的,那么可以考虑**动态开点线段树**。 继续考虑如果我们用线段树做有什么性质,其实就是把左儿子和右儿子的叶子节点对应连 阅读全文
posted @ 2021-09-30 15:32 C202044zxy 阅读(200) 评论(0) 推荐(1)
摘要:C. Paint 题目描述 给你一个长度为 \(n\) 的颜色数组,每次可以选择一个位置修改它的颜色,此时与他相邻的极长连续相同颜色段也会改变颜色,问把所有位置变同色的最小操作次数。 \(n\leq 3\cdot 10^3\) 解法 因为每次操作的是一个极长同色连续段,所以可以考虑用区间 \(dp\ 阅读全文
posted @ 2021-09-28 22:27 C202044zxy 阅读(489) 评论(0) 推荐(0)
摘要:一、题目 \(\tt OneInDark\) 这头猪就不要叫了嘛$...$ 哥哥 \(\tt zxy\) 养了很多头 \(\tt OID\),其中第 \(i\) 行 \(j\) 列的格子是第 \(a_{i,j}\) 头猪。 定义一个子矩形是好的,当且仅当它满足含有猪种类编号最大值减去编号最小值等于矩 阅读全文
posted @ 2021-09-11 16:49 C202044zxy 阅读(65) 评论(0) 推荐(0)
摘要:一、题目 点此看题 二、解法 势能线段树 常见的套路:我们把询问按右端点离线,对于每个左端点维护其答案。 考虑插入 \(a_r\) 之后如何维护最小值,想象所有已有的数已经排列在了一个数轴上,我们可以感知到受影响的点数应该不会很多,但是快速找到受影响的点貌似是不可能的。 可以换个思路,我们猜测每个点 阅读全文
posted @ 2021-09-10 17:33 C202044zxy 阅读(195) 评论(0) 推荐(0)