随笔分类 -  数据结构

摘要:洛谷 P4396 [AHOI2013]作业 莫队+值域分块 阅读全文
posted @ 2021-01-12 11:40 liuchanglc 阅读(131) 评论(0) 推荐(0)
摘要:莫队学习笔记 阅读全文
posted @ 2021-01-12 10:35 liuchanglc 阅读(179) 评论(0) 推荐(0)
摘要:题目描述 神犇 \(Aleph\) 在 \(SDOI\ Round2\) 前立了一个 \(flag\):如果进了省队,就现场直播喝崂山白花蛇草水。凭借着神犇 \(Aleph\) 的实力,他轻松地进了山东省省队,现在便是他履行诺言的时候了。蒟蒻 \(Bob\) 特地为他准备了 \(999,999,99 阅读全文
posted @ 2021-01-07 17:24 liuchanglc 阅读(170) 评论(0) 推荐(0)
摘要:后缀数组学习笔记 阅读全文
posted @ 2020-12-26 10:59 liuchanglc 阅读(311) 评论(0) 推荐(2)
摘要:虚树学习笔记 阅读全文
posted @ 2020-12-24 16:36 liuchanglc 阅读(114) 评论(0) 推荐(1)
摘要:题目描述 给定一个非负整数序列 \(\{a\}\),初始长度为$n$。 有 \(m\) 个操作,有以下两种操作类型: \(A\ x\):添加操作,表示在序列末尾添加一个数 \(x\),序列的长度 \(n+1\)。 \(Q\ l\ r\ x\):询问操作,你需要找到一个位置 \(p\),满足$l \l 阅读全文
posted @ 2020-12-23 14:13 liuchanglc 阅读(161) 评论(0) 推荐(1)
摘要:KD-Tree 学习笔记 阅读全文
posted @ 2020-12-23 13:47 liuchanglc 阅读(280) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2020-11-27 16:57 liuchanglc 阅读(3) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2020-11-27 16:51 liuchanglc 阅读(5) 评论(0) 推荐(1)
摘要:题目描述 题目传送门 分析 这道题的难点在于增加了换根操作 如果对于每一次操作都重新剖一遍显然是不现实的 我们不妨先以 $1$ 为根节点进行树剖 设当前的根节点为 \(rt\) 如果我们要查询的节点是 \(rt\),直接输出全局最小值 如果我们要查询的节点在 以 $1$ 为根时 \(rt\) 的子树 阅读全文
posted @ 2020-11-18 07:15 liuchanglc 阅读(123) 评论(0) 推荐(1)
摘要:题目描述 \(Frank\) 对天文学非常感兴趣,他经常用望远镜看星星,同时记录下它们的信息,比如亮度、颜色等等,进而估算出星星的距离,半径等等。 \(Frank\) 不仅喜欢观测,还喜欢分析观测到的数据。他经常分析两个参数之间(比如亮度和半径)是否存在某种关系。 现在 \(Frank\) 要分析参 阅读全文
posted @ 2020-11-18 06:36 liuchanglc 阅读(147) 评论(0) 推荐(1)
摘要:题目描述 从前有一个贸易市场,在一位执政官到来之前都是非常繁荣的,自从他来了之后,发布了一系列奇怪的政令,导致贸易市场的衰落。 有 \(n\) 个商贩,从$0 \sim n - 1$ 编号,每个商贩的商品有一个价格$a_i$,有两种政令: \(l, r, c\),对于$i \in [l, r], a 阅读全文
posted @ 2020-11-14 07:31 liuchanglc 阅读(297) 评论(1) 推荐(1)
摘要:题目描述 分析 设$f[i]$ 为从 \(i\) 走到 \(i+1\) 的步数 初始值 \(f[i]=2\) 则 \(f[i]=\sum_{i=p[i]}^{i}f[i]\) 考试的时候用树状数组维护的前缀和 其实这东西也可以拿一个数组记录 代码 #include<cstdio> #include< 阅读全文
posted @ 2020-10-29 11:26 liuchanglc 阅读(101) 评论(1) 推荐(1)
摘要:题目描述 分析 这道题比较关键的一点就是要看出最终牌数的种类数不会超过 \(\sqrt{n}\) 种 知道了这个性质我们就可以用 \(vector\) 维护一个有序的序列 \(vector\) 中存放牌数的大小和有多少堆这样的牌 每次二分插入和删除即可 时间复杂度 \(O(m\sqrt{n})\) 阅读全文
posted @ 2020-10-29 06:21 liuchanglc 阅读(149) 评论(0) 推荐(1)
摘要:题目描述 分析 因为跨过最大值的区间一定是合法的,所以我们人为地把最大值放在最左边 我们要统计的就是在最大值右边单调不降的序列,可以用单调栈维护 需要特殊处理相同的情况 代码 #include<cstdio> #include<cstring> #include<cmath> #include<al 阅读全文
posted @ 2020-10-26 17:15 liuchanglc 阅读(123) 评论(1) 推荐(0)
摘要:题目描述 题目传送门 分析 存一下板子,注意线段树维护的是左闭右开的区间 代码 #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #define rg register inline int read(){ 阅读全文
posted @ 2020-10-22 17:50 liuchanglc 阅读(120) 评论(0) 推荐(0)
摘要:题目描述 \(duyege\) 的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹。 为了查出真相,\(duyege\) 准备修好电脑之后再进行一次金坷垃的模拟实验。 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 $v_i$的金坷垃 或者除掉最新$v_i$ 层(不是量)撒的金坷垃。如果上面只留 阅读全文
posted @ 2020-10-22 10:56 liuchanglc 阅读(157) 评论(0) 推荐(0)
摘要:题目描述 给定一个含有 \(n\) 个数的序列 \(a[1],a[2],a[3]……a[n]\),程序必须回答这样的询问:对于给定的$i,j,k$,在$a[i],a[i+1],a[i+2]……a[j]$中第$k$小的数是多少$(1≤k≤j-i+1)$,并且,你可以改变一些$a[i]$的值,改变后,程 阅读全文
posted @ 2020-10-20 17:57 liuchanglc 阅读(101) 评论(1) 推荐(0)
摘要:题目描述 题目传送门 分析 为了保证字典序最小,我们需要倒序枚举 对于 \(K=1\) 的情况,如果我们当前扫到的值与之前的某个值之和恰好是平方数,那么就要再开一个组 对于 \(k=2\) 的情况,我们把不合法的权值两两连边 那么出现冲突的情况就是整张图不是二分图,也就是说出现了奇环 这个我们用带权 阅读全文
posted @ 2020-10-19 19:07 liuchanglc 阅读(92) 评论(0) 推荐(0)
摘要:题目描述 分析 因为一个节点被放了小球后,它的所有祖先节点都要放小球 所以我们可以在递归的时候再把儿子的贡献上传 对于没有小桶限制的情况,显然是一个 \(dsu\) 的板子 对于有小桶限制的情况,关键是怎么处理重复的颜色 我们可以开一个数组记录一下当前颜色最早出现在哪一次操作中 统计当前颜色答案的时 阅读全文
posted @ 2020-10-19 15:45 liuchanglc 阅读(120) 评论(2) 推荐(1)