随笔分类 - 数据结构
摘要:CF1114F Please, another Queries on Array? 题目大意 你有一个数组$a_1,a_2,\dots,a_n$。 现在你需要完成$q$次操作,有以下两种操作形式: MULTIPLY l r x,对于所有$i(l\le i\le r)$,将$a_i$乘上$x$。 TO
阅读全文
摘要:CF1000F One Occurrence 题目大意 给定一个长度为$n$序列,$m$个询问,每次询问给定一个区间$[l,r]$,如果这个区间里存在只出现一次的数,输出这个数(如果有多个就输出任意一个),没有就输出0,$n,m<=5*10^5$ 分析 看到区间里存在只出现一次的数,区间去重。那一下
阅读全文
摘要:SP1557 GSS2 - Can you answer these queries II 题目大意 给出 $n$ 个数,$q$ 次询问,求最大子段和,相同的数只算一次。 分析 看到一个区间内相同的数只能算一次,经验告诉我们要考虑离线。 我们将区间按照右端点排序,用pre[i]来表示i上次出现的位置
阅读全文
摘要:CF992E Nastya and King-Shamans 题目大意 给定一个序列 $a_i$ ,记其前缀和序列为 $s_i$ ,有 $q$ 个询问,每次单点修改,询问是否存在一个 $i$ 满足 $a_i=s_{i-1}$ ,有多解输出任意一个,无解输出 $-1$ 。 分析 这里,以一贯的习惯,提
阅读全文
摘要:CF431E Chemistry Experiment 题目大意 有$n$支试管,每支试管装有$h_i\ ml$的水银。 $q$次操作,操作有两种: 1 $p$ $x$:倒掉试管$p$的水银修改为$x\ ml$。 2 $v$:将$v\ ml$水任意分配至$n$支试管里,最小化有水的试管中最大体积,输
阅读全文
摘要:CF240F TorCoder 题目大意 请使用文件输入输出! 给定一个长为$n$的由a到z组成的字符串,有$m$次操作,每次操作将$[l,r]$这些位置的字符进行重排,得到字典序最小的回文字符串,如果无法操作就不进行。 求$m$次操作后的字符串。 $n,m<=100000$ 分析 初一看,没什么下
阅读全文
摘要:P2894 [USACO08FEB]Hotel G 分析 题目很简单,给自己复建用的,好久没打代码了,摸鱼必死qwq。 我们读完题目,可以很容易发现,这题就是要维护最长连续区间,区间内全为0。 维护最长连续区间,那就经典维护三个值。len,llen,rlen。分别表示维护,区间最长的线段,从左开始最
阅读全文
摘要:E. Qpwoeirut and Vertices 分析 分析起来,倒是不算太麻烦。 简单说明一下题意: n个点,m条边的无向图。其中边按照其给的顺序赋边权,即为第一条给出的边,其边权为1,第二条给出的边,其边权为2,等。 给我们q次询问,每次询问给一个范围[l,r],要求其中的点全部连通需要走的边
阅读全文
摘要:牛客练习赛62——水灾(断开) 原题链接 分析 我们要知道的是将k个点断开使得其互相不连通需要去掉的所有边集的最大边权的最小值是多少 我们先考虑将两个点断开的答案是什么?显而易见,即为两者之间的最小边权最大值。那我们建降序Kruskal重构树,然后求LCA就好。 那k个点我们就求个k个点的LCA,就
阅读全文
摘要:Codeforces Round #556 (Div. 2) D. Three Religions 分析 一开始的想法是,我们贪心的,每次操作后都暴力匹配一下每个串能不能匹配上。 匹配的贪心是,我们考虑对于一个串$s_i$,我们在S中匹配时,一定尽可能选择靠近的字符匹配。 但是很明显,这样的贪心是错
阅读全文
摘要:华华和月月种树 知识点 树剖+树状数组 思路 容我吐槽一下,这牛客LCA题单全都是点树剖,真不如叫树剖题单(doge) 好啦,我们正式来说这题。 我们先正常分析,遇见问题我们在过来调整思路。 首先,我们不考虑第一个操作,来看剩下两个。 这里面,首先我们看到了一个操作。 操作 2:输入格式 2 i a
阅读全文
摘要:CF242E XOR on Segment 分析 如果有一定树剖基础的同学,非常建议赶忙练手写一道洛谷树(这是我的题解,里边也附有洛谷树的原题链接)。 这里有一个经验,如果我们需要进行对区间进行位运算,那我们通常会开多个线段树,因为位运算可以分别对每一位来看 但这里有一些需要注意的,如果我们维护的其
阅读全文
摘要:P1438 无聊的数列 分析 老规矩,先看操作 1 l r K D:给出一个长度等于 r-l+1 的等差数列,首项为 K,公差为 D,并将它对应加到 [l,r] 范围中的每一个数上。即令 \(a_l=a_l+K,a_{l+1}=a_{l+1}+K+D\ldots a_r=a_r+K+(r-l) \t
阅读全文
摘要:P1471 方差 分析 数据结构的题目,我们直接来分析操作。 操作 1:1 x y k ,表示将第 x 到第 y 项每项加上 k,k 为一实数。 操作 2:2 x y ,表示求出第 x 到第 y 项这一子数列的平均数。 操作 3:3 x y ,表示求出第 x 到第 y 项这一子数列的方差。 操作一:
阅读全文
摘要:P6186 [NOI Online #1 提高组] 冒泡排序 分析 这题,我看了前几个题解,感觉跟我的写法都不太相同,所以我也说说我的写法。 首先我们需要探索一下每一轮冒泡排序会产生什么影响。 直接看一个例子就知道了。 原序列 5 3 6 1 2 4 数字对应的逆序数 0 1 0 3 3 2 原序列
阅读全文
摘要:P4588 [TJOI2018]数学计算 分析 太有意思哇,巧妙的很哇。 初一看这个题,觉得这么简单? 然后发现直接模拟肯定不行啊,直接模拟G了,因为mod的数不是个质数,也没办法很好的直接算。 看了题解,太妙了。 解法 我们按照时间轴建树。初始时每个叶节点都赋1,最后维护区间乘的结果。 对于两个操
阅读全文
摘要:P4314 CPU 监控 分析 前置知识:线段树 我们先来看看操作。 操作 给出 T 个数,E 个操作(\(T,E \leq 10^5\)) Q X Y:询问从 X 到 Y 的当前最大值 A X Y:询问从 X 到 Y 的历史最大值(出现过的最大数) P X Y Z:将 X 到 Y 这段区间加 Z
阅读全文
摘要:P2572 [SCOI2010] 序列操作 分析 这题,论码量在树剖+线段树面前肯定是不够看的,但是单论线段树部分,码量不小,请做好心理准备。 此题需要我们进行的操作有 0 l r 把 [l, r] 区间内的所有数全变成 0 1 l r 把 [l, r] 区间内的所有数全变成 1 2 l r 把 [
阅读全文
摘要:P5568 [SDOI2008] 校门外的区间 P4315 月下“毛景树” 分析 这两题放一起是因为,都有对两个懒标记的优先权的调整。 校门外的区间 我们可以将题目的中操作转化为 U:B区间覆盖1 I:B区间的补集覆盖0 D:B区间覆盖0 C:全集范围内01翻转,转到I操作 S:B区间范围内01翻转
阅读全文
摘要:P2184 贪婪大陆 分析 有点意思的题目的,我们用两种方法来解决。 我们要求的东西就是,在区间[l,r]中,包含的不同的区间个数 更进一步,求得是之前的区间中与区间[l,r]相交的不同区间个数 那问题就变成了,如何判断是否与区间[l,r]相交呢? 这就好说了,区间[l',r']只要满足,l'<=r
阅读全文

浙公网安备 33010602011771号