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

摘要:建模转化+维护差分序列 Statement 厨师比太郎正在参加一个厨艺比赛。在这场比赛中参赛者要烹饪两道料理:IOl盖饭和JOI咖喱。 l0I盖饭的烹饪过程中需要N个步骤。第i(1≤i≤N)步的用时是 $A_i$ 分钟,最初他只能进行第1步,想要进行第i(2≤i≤N)步的条件是已经完成了第i―1步。 阅读全文
posted @ 2022-07-31 19:26 _Famiglistimo 阅读(377) 评论(4) 推荐(3)
摘要:独立想出来的题!(虽然想漏了一些细节) 线段树合并优化 DP Statement [JOISC 2021 Day4] 最悪の記者 4 (Worst Reporter 4) Solution 容易想到连边 \(i\to a_i\) ,那么形成了一个基环内向树森林 考虑处理每一个基环树,容易发现环上的点 阅读全文
posted @ 2022-04-13 11:40 _Famiglistimo 阅读(91) 评论(0) 推荐(0)
摘要:SA+二分+主席树 Statement \(q\) 次询问 \(s[a\dots b]\) 的所有子串和 \(s[c\dots d]\) 的最长公共前缀最大值 \(n,q\le 10^5\) Solution 其实感觉算不上黑题 看到 LCP,容易想到 SA,管都不管,先套一个 SA SA 套路二分 阅读全文
posted @ 2022-04-04 20:54 _Famiglistimo 阅读(27) 评论(0) 推荐(0)
摘要:SAM+线段树合并+树链剖分 感谢 gls 的教导!!! Statement 多次询问区间 Border 长度。 \(n,q\le 2\times 10^5\) [BJWC2018]Border 的四种求法 Solution 每一个询问就是 \(\min\{i|lcp(l,i)\ge r-i+1,i 阅读全文
posted @ 2022-04-01 17:19 _Famiglistimo 阅读(94) 评论(0) 推荐(0)
摘要:参考 FutaRimeWoawaSete 线段树合并维护子树信息 Statement CF490F Treeland Tour - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 给出一棵带点权树,求树上最长上升子序列的长度 \(n\le 6\times 10^3\) Solution 阅读全文
posted @ 2022-02-18 21:37 _Famiglistimo 阅读(151) 评论(1) 推荐(1)
摘要:根号分治+ST表+主席树区间出现过的数的乘积 Statement 给定一个长度为 \(n\) 的序列 \(a\) 以及 \(q\) 次询问 。 每次询问包含 \(2\) 个整数 \(l,r\) ,你需要求出区间 \([l,r]\) 的最小公倍数对 \(10^9 + 7\) 取模的结果。 询问强制在线 阅读全文
posted @ 2022-02-11 21:38 _Famiglistimo 阅读(47) 评论(0) 推荐(0)
摘要:2-SAT+线段树优化建图+边分治 Statement 给定一棵 \(n\) 个点的树,\(m\) 条限制和区间 \([L,R]\)。你需要选出 \(n\) 个点的一个子集(可以为空或者全集),满足给出的所有限制。 每条限制形如:若 \(u\) 点(被选了/没被选),则树上与 \(u\) 距离在 \ 阅读全文
posted @ 2022-02-08 23:35 _Famiglistimo 阅读(166) 评论(0) 推荐(0)
摘要:Statement CF803G Periodic RMQ Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 给你一个序列 \(a\) 让你支持 11 ll rr xx 区间赋值 22 ll rr 询问区间最小值 我们觉得这个问题太水了,所以我们不会给你序列aa 而是 阅读全文
posted @ 2022-02-07 12:06 _Famiglistimo 阅读(43) 评论(0) 推荐(0)
摘要:根号分治(线段树+单调栈) Statement CF862F Mahmoud and Ehab and the final stage - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有 \(n\) 个字符串和 \(q\) 次操作: \(1\ l\ r\) 表示询问区间 \([l, 阅读全文
posted @ 2022-02-06 23:56 _Famiglistimo 阅读(62) 评论(0) 推荐(0)
摘要:整体二分+tarjan+权值线段树合并 Statement P5163 WD与地图 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 给定一张 \(n\) 个点 \(m\) 条边的带点权的有向图,以及 \(q\) 个操作,操作有: 删除一条边(保证存在) 单点修改点权 询问某个点所在 阅读全文
posted @ 2022-01-24 16:32 _Famiglistimo 阅读(41) 评论(0) 推荐(0)
摘要:由于不会所谓全局平衡二叉树的做法,所以 Luogu 上 T 飞了,只有 80pts ,但是 LOJ 可过 学习自: SDOI2017切树游戏 - Men always remember love because of romance only. 这里想用自己的理解讲一遍,加深理解 Statement 阅读全文
posted @ 2022-01-13 19:59 _Famiglistimo 阅读(74) 评论(0) 推荐(0)
摘要:参考:题解 P4618 SDOI2018原题识别 - shadowice1984 的博客 - 洛谷博客 (luogu.com.cn) 顺便说一句:注意到上面那位大佬代码中主席树写法,因为递归的时候是 $ (mid,r)$ 作为右区间,所以判断叶子的条件变成了 \(l==r-1\) ,而相应地也应该给 阅读全文
posted @ 2021-11-10 17:15 _Famiglistimo 阅读(123) 评论(5) 推荐(0)
摘要:Statement [P4655 CEOI2017]Building Bridges - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) Solution 斜率优化DP+李超线段树 考虑设 \(f[i]\) 表示链接到 \(i\) 的最小代价,那么有: \[ f[i]=\min_{j< 阅读全文
posted @ 2021-11-06 21:24 _Famiglistimo 阅读(112) 评论(4) 推荐(1)
摘要:CF1602E Optimal Insertion Statement CodeForces - 1602E 给定序列 \(a_n,b_m\) ,可以将 \(b\) 以任意顺序插入到 \(a\) 的任意位置里面,求插入后最少有多少的逆序对。 ( \(a\) 不可交换顺序,逆序对算上了 \(a\) 本 阅读全文
posted @ 2021-10-26 21:32 _Famiglistimo 阅读(198) 评论(1) 推荐(2)
摘要:Statement SDOI2011消耗战 - 洛谷 Solve1 虚树上DP 简化题意: 给定一棵 𝑛 个点的树(边带权)以及若干组关键点,对每一组求删边的最少代价(删边的代价为边权)可以使关键点与 1 号节点不连通。 \(n\leq 2.5\times 10^5,\sum k\leq 5\ti 阅读全文
posted @ 2021-08-27 10:15 _Famiglistimo 阅读(63) 评论(0) 推荐(0)
摘要:[Ynoi2007] rgxsxrs 终于 A 了这道题了,写篇题解纪念一下。/kel 本文的思路和代码源于 Ynoi rgxsxrs 题解 - CLZY 的博客 Description 给定一个长为 \(n\) 的序列 \(a\),需要实现 \(m\) 次操作: 1 l r x:表示将区间 \([ 阅读全文
posted @ 2021-07-25 16:14 _Famiglistimo 阅读(107) 评论(0) 推荐(0)
摘要:@ 前言 这是本人的第一篇随笔, 肯定存在不足之处,欢迎大家指出问题 突然心血来潮,想总结一波线段树,故有此文 A 引例 现在给出一个问题: 给出 n 个数,n <= 100,和 m 个询问,每次询问区间 [l,r] 的和,并输出 显然,暴力可解,前缀和可以 O(1)解 修改题目: 给出 n 个数, 阅读全文
posted @ 2020-11-21 13:44 _Famiglistimo 阅读(348) 评论(0) 推荐(0)