- 博客(218)
- 收藏
- 关注
原创 牛客 2025 寒假训练赛第四场 A Tokitsukaze and Absolute Expectation
三段即可,每种都是上面讨论的三种情况中的一种,可以直接求解。单次求解的时间复杂度为。,可以愉快地跑过(前提是代码别写错,这题十分考验码力)。的包含关系非常混乱,不止上面讨论的三种。为分界点,把所求变成两个等差数列求和(即分成。将重心放在求蓝色式子中,这是本题又一大难点。,那么就是一个等差数列求和的问题。时求和式变化了多少。
2025-02-07 19:20:52
809
原创 洛谷 P11626 题解
只不过,对于求区间和、区间异或和之类的问题,每个数出现次数对最终答案是有影响的,因此 ST 表查询答案的时候也必须用。而区间最大最小值、区间最大公约数这些问题和每个数出现次数没有关系,可以直接。事实上,ST 表的本质就是倍增算法。因此,只要是静态数组的问题,基本都可以用 ST 表解决。首先,对数据结构比较熟悉的同学应该知道,静态数组求区间最大公约数可以用 ST 表来解决。式子很复杂,也无法用一般的数论方法化简。显然,红色部分也可以用前缀和优化。段和时可行的区间划分的方案数。的和可以用前缀和求出。
2025-02-03 19:22:51
858
原创 CF2013E Prefix GCD
由于每次取 gcd 都会比上一次至少减少一半,所以时间复杂度为。(代表算到这个数时的前缀 gcd),会分别大于等于下面红色的。放到最前面,然后每次选取和它的 gcd 最小的那一个数。放在前面的话,我们来看一张图(假设。所以上面的蓝色的前缀 gcd 和为。我们可以发现,上面蓝色部分对应的。但是下面的前缀 gcd 的和为。行,每行一个整数,表示答案。后面的贪心过程同理可以证明。的前缀 gcd 至少为。所以显然下面的情况更优。每组数据第一行一个整数。可是,为什么这样是对的?
2024-10-05 21:43:37
790
原创 洛谷 P10456 The Pilots Brothers‘ refrigerator
首先我们可以发现,对同一个格点进行两次操作是没有意义的,因为那等于没操作。求最少可以通过多少次操作使得整个网格全部变成。位的二进制数表示是否对每个格点进行操作。后,剩下的事情就完全类似于模拟了。所以,总的思想类似于生成-测试法。表示每个格点的操作与否。每次操作你需要选定一个格点。标号,我们完全可以用一个。列的所有元素都取反(即。个格点,把所有格点从。,那么代表我们对编号为。
2024-09-28 22:31:50
910
1
原创 洛谷P10238 [yLCPC2024] F. PANDORA PARADOXXX
个节点的树组成,在求答案之前把所有不需要删除的边逐条加入图中也可以得到最开始时各棵子树的直径的最大值。这样做的话,这一部分代码的时间复杂度是线性对数的,不如第一份代码;但是这样做可以减少代码长度,方便调试。在加入边前,整个图是由很多棵相互不联通的树组成的,两点间的最大长度就是所有树的直径长度的最大值。因为最开始求各棵子树的直径和最后加边时求新直径用了两种不同的算法。我们可以使用相同的算法减小代码长度:最开始求子树直径的时候也不一定要。求出任意两点间的距离。删除,而且没有强制在线,一般就可以考虑时光倒流了。
2024-08-21 16:20:09
924
原创 洛谷P9235 [蓝桥杯 2023 省 A] 网络稳定性
建立最大生成树后,由于在树上任意两个节点间一定有且只有一条路径连接。问题就变成了求这条路径上所有边的稳定性的最小值。在求 LCA 的同时顺带可以把这个值求出。可以先考虑图联通的情况,不联通的情况不过也就是由几个联通的图组成。既然答案一定诞生在最大生成树里,那就先把最大生成树建立出来呀。首先先证明最终答案一定是最大生成树里的边。一条路径的稳定性定义为这条路径上所有边的边权的。最小值最大的问题一般都是二分,但是这题不是。边组成的图,每条边都有一个边权。条边的联通的图(注意这里的。的所有路径各自稳定性的。
2024-08-19 17:12:46
911
原创 [EC Final 2020] City Brain
我们发现公共部分的每条边的地位是相等的,非公共部分的每条边的地位也是相等的。即:具体要走怎样的路径对结果没有影响,有影响的是公共部分的总边数。证明使用反证法:如果公共部分不连续,则从第一段公共部分的最后一个点到第二段公共部分的第一个点在两条路径中选择了不同的方案。可以枚举公共部分的起点和终点,分别记为。条边组成的无向图,每条边的长度都是。首先,我们要发现这样一个性质:从。求出这个最小总时间。次操作,每次操作可以使。次操作后,如果一条边的。和非公共部分的总边数。初始时,每条边限速为。)如果有公共部分,则。
2024-08-12 17:20:52
596
原创 洛谷 P10034 「Cfz Round 3」Circle
显然,我们用背包即可判断是否有解。同时还可以知道我们需要构造哪些大小的环。题目所需要满足的条件可以等价于从任何一个。,那么剩下的那一个没有限制的点需要形成自环,不合题意。如果判断有解,剩下的事情就比较简单了:只要依次挑出。的约数,那么这个环上的任意一点均可以走。根据这个想法,我们就可以判定是否有解:把。的环(点数一定等于边数,因为每个点的。都建立一个有向边,就可以得到一个。步都能回到自身,且图中不存在自环。个点和无限制的点中任意的。显然,如果存在一个大小为。的约数找出来,假设记为。表示我们需要将有限制的。
2024-08-08 17:16:57
855
原创 CF1996F Bomb
每次操作选择的是最大的。利用这个性质我们就自然而然地想到了二分。就是这么一条线:最优方案下只要一个。只需要用一个优先队列即可求出答案。显然,每次操作肯定是选择是最大的。次操作,每次操作可以选择一个。,那么我们就一定不会选择小于。小,那么一定不会再被操作。题目的要求是最多只能进行。次操作有某一次操作的收益。次操作后总收益的最大值。就不是满足条件的最大的。,也就是对于任意的一个。通过足够次操作后小于。利用二分,我们可以求出。
2024-08-04 17:16:14
923
原创 CF1997D Maximize the Root
有单调性就有可二分性,于是我们考虑使用二分答案的方法把这道题从求解性问题变成判断性问题。树上的问题,一般情况下首先就要考虑求解的方向:即从根到叶还是从叶到根。考虑一些技巧,我们发现答案是有单调性的:如果存在一种方法能使。一个经验的事实是:判断性问题的难度一般比同性质的求解性问题小。显然从叶到根方法太多,不便于考虑。所以我们从根到叶考虑。接下来的过程具有重复性,dfs 即可。显然,这题直接求解非常麻烦。现在让我们思考给定一个。
2024-08-02 17:17:55
866
原创 洛谷P9778 [HUSTFC 2023] 基因编辑
的后缀),利用 Trie 树,可以查询出有多少个字符串可以贡献这个前缀,以及有多少个字符串可以贡献这个后缀。诚实的说,笔者水平有限,也没有解决方法。无论在哪个位置都可以给自己提供合适的前缀和后缀。首先,比较显然的是,和前缀有关的问题很多都需要用到 Trie。但是,这题还需要用到后缀。显然,把字符串倒序(即。,再枚举拼凑的位置(即这个位置往前是。可以知道这样还是有重复。大家不妨直接参考大佬的题解。),那么后缀问题就变成了前缀问题。的前缀,这个位置往后是。的地位是接近的,只有。,所以正解大概率是枚举。
2024-07-24 17:16:35
999
原创 洛谷 P10119 题解
我们发现,这个转移区间只会变长,不会变短或者删除某些解,于是用一个变量就可以维护。分钟踱步后进入了屋内,所以踱步前应该在屋外,所以中间加的应该是在屋外的心情值。的,我们发现这个转移区间长度是确定的,但是左端点会每次加。注意细节,要养成良好的清空数组的习惯。首先,应该可以很明显看出来这题是一道 dp 题。同理,不过中间那一项应该是在屋外的心情值。另外,为了避免 MLE,应该要用。分钟)的总心情值的最大值。转移方程还是比较显然的,以。分钟初一定会踱步),踱步。在屋内/外的状态下,前。分钟(为了方便转移,
2024-07-16 17:45:01
703
原创 CF1982D Beauty of the mountains
因此,如果有解,一定存在这样的解:我们对每个需要变化的子矩形最多进行。Nikita 希望通过有限次操作使得有雪的格子的总高度和无雪的格子的总高度相等。显然,每个格子的值具体是多少我们并不关心,我们只关心两种格子的值的。当然,如果对某个子矩形不进行操作,我们也可以对它进行一次加上。这样,一定存在这样的一组解:我们对每个。的子矩形,使这个子矩形中的所有格子的高度增加。的矩形,每一个格子都有一个初始。的子矩形中的每一个数都加上。个有雪的格子,那么它一定有。对这个子矩形的操作必然使。的子矩形都进行且只进行。
2024-07-06 17:35:32
1005
3
原创 洛谷P8502题解
完全可以重复利用,只需要开二维即可。这样是可以满足空间要求的。但是有个问题,就是我们不能随时询问随时回答,因为我们并没有保留任意的。很显然,由于每个节点可以到达的节点是一段连续的区间,我们可以用。但是,这样的计数是错误的。因为我们可以多次经过。比如在一条途径中,我们在。这一点,这题的难度上了一个台阶。这个节点,而每一次经过节点。不能在线回答询问,那就。我们先考虑不卡空间时怎么做。于是,我们可以新开一个数组。时都会把这条途径计入。的路径还是可以重复经过。直接并不好做,我们考虑。自然地,我们会想到用。
2024-06-22 20:41:51
915
1
原创 2022.08.01 洛谷P7845 「dWoi R2」Change
不可以到达的点对答案没有任何贡献,所以把所有不可以到达的节点和它的所有相连的边删去,留下所有可以到达的节点,建立一个新的图(这个图一定是原图的子图)。不一定可以到达所有的节点,所以我们可以先进行一次拓扑排序(或者bfs,随便怎么叫),求出。结合贪心,现在的问题就是求出新图中从。干讲可能不好理解,加上代码后就好多了。到它可以到达的每一个点的距离和。的所有路径中必须经过的离。的最近必经之路,考虑节点。所以,再来一次拓扑排序即可。首先是一个贪心,离起始点。距离最小的边),记为点。的所有路径的交集中离。...
2022-08-01 13:30:54
230
原创 2022.07.19 洛谷 P6588 『JROI-1』 向量
前三个操作都是线段树的基本操作,重点考虑第四和第五个操作。相当于把所有的向量都相乘一次,减去自己乘自己,再除以。(至于每个操作是什么意思,请自行百度向量的基本运算)根据这条性质,我们就可以用线段树维护了。的横纵坐标的绝对值不大于。事实上,根据叉乘的几何含义,保证任意时刻任意的向量。很遗憾,叉乘没有交换律。类似,为纵坐标的和。...
2022-07-19 13:51:15
320
原创 2022.07.18 洛谷 P6722 「MCOI-01」Village 村庄
显然,我们不需要考虑原图的每一条边,我们考虑最难满足限制的那条边就可以了(它都符合条件,其它一定符合)。判断是否存在这样的一个节点,它到直径两端的点的距离是否都大于等于。为无根树的根,求出每个点之间的距离,暴力建图,然后判断是否是二分图即可。(这篇题解的说法可能不太严谨,但做法是对的,严谨的证明请大家看看其它题解)个节点的树,你需要根据这棵树建立一棵新的图。,我们发现对于直径上任何一点,它到直径两端(即点。因此,我们不能只判断直径上的点是否符合条件。注意,不能只判断直径上的点是否满足限制。...
2022-07-18 13:53:15
248
原创 2022.05.04 洛谷 P8320 Sunset
P8320 [JROI-4] Sunset\color{green}{\texttt{P8320 [JROI-4] Sunset}}P8320 [JROI-4] Sunset[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Analysis]\color{blue}{\texttt{[Analysis]}}[Analysis]设 d1⋯id_{1 \cdots i}d1⋯i 中不同的数的个数为 ωi\ome
2022-05-04 20:55:49
239
原创 2022.04.10 洛谷 P1272
[Problem]\color{blue}{\texttt{[Problem]}}[Problem]给定一棵有 nnn 个节点的有根树。每次操作可以删除树上两个点 (u,v)(u,v)(u,v) 间的连边。求最少需要几次操作可以从树上剥离出一个恰好有 PPP 个节点的子树。1≤P≤n≤1501 \leq P \leq n \leq 1501≤P≤n≤150。[Analysis]\color{blue}{\texttt{[Analysis]}}[Analysis]很明显应该是树上背包问题。剥
2022-04-10 13:40:33
192
原创 2022.01.30 洛谷P8087
P8087 [JROI-5] Interval\color{green}{\texttt{P8087 [JROI-5] Interval}}P8087 [JROI-5] Interval[Problem]\color{blue}{\texttt{[Problem]}}[Problem]1≤n≤4×106,1≤fi≤1×1091 \leq n \leq 4 \times 10^{6},1 \leq f_{i} \leq 1 \times 10^{9}1≤n≤4×1
2022-01-30 20:43:23
972
原创 2022.01.22 洛谷 P4449 于神之怒(加强版)
Luogu P4449\color{green}{\texttt{Luogu P4449}}Luogu P4449[Problem]\color{blue}{\texttt{[Problem]}}[Problem]求∑i=1n∑j=1mgcd(i,j)k\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\gcd(i,j)^{k}i=1∑nj=1∑mgcd(i,j)k对 (1×109+7)(1 \times 10^{9}+7)(1×109+7
2022-01-28 13:54:29
224
原创 2022.01.25 THUSC2016 成绩单
Luogu P5336 & Ybt 1766\color{green}{\texttt{Luogu P5336 \& Ybt 1766}}Luogu P5336 & Ybt 1766[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Solution]\color{blue}{\texttt{[Solution]}}[Solution]看到 nn
2022-01-25 20:28:49
2095
原创 2022.01.23 高手训练自训 ybt1742 导线问题
Ybt 1742 hamon\color{green}{\texttt{Ybt 1742 hamon}}Ybt 1742 hamon[Problem in short]\color{blue}{\texttt{[Problem in short]}}[Problem in short]给定序列 a1⋯na_{1 \cdots n}a1⋯n,求其最长严格上升子序列的长度及数量(对 1234567891234567891234
2022-01-23 20:28:43
435
原创 2022/01/02 CF1282E The Cake Is a Lie
CF1282E The Cake Is a Lie\color{green}{\texttt{CF1282E The Cake Is a Lie}}CF1282E The Cake Is a Lie[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Solution]\color{blue}{\texttt{[Solution]}}[Solution]
2022-01-02 20:45:20
300
原创 20211203 CF1611
B\color{green}{\texttt{B}}B[Solution]\color{blue}{\texttt{[Solution]}}[Solution]下面讨论认为 a>ba>ba>b(如果 a<ba<ba<b,直接交换就好了)。如果 a≥3ba\geq 3ba≥3b,那么最多只能分 bbb 组(每组一名程序员和三名数学家)。其他情况下,我们先把每个组分一个程序员和一名数学家,然后再把数学家两两分到一组,再把程序员两两分到一组,如果都有剩余,再把一名数学
2021-12-03 15:07:36
230
原创 2021.09.11 CF1547G How Many Paths & Luogu P5546
CF1547G How Many Paths\color{green}{\texttt{CF1547G How Many Paths}}CF1547G How Many Paths[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Solution]\color{blue}{\texttt{[Solution]}}[Solution]首先,如果一个点 uuu 有自环且 111 能到达 uuu
2021-09-11 17:21:16
408
原创 2021.08.31 CF1558E Up the Strip
the last blog of the summer holiday of 2021CF1558E Up the Strip\color{green}{\texttt{CF1558E Up the Strip}}CF1558E Up the Strip[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Solution]\color{blue}{\texttt{[Solution]}}[S
2021-08-31 21:01:02
149
原创 2021.08.20 CF1552F Telepanting
CF1552F Telepanting\color{green}{\texttt{CF1552F Telepanting}}CF1552F Telepanting[Problem]\color{blue}{\texttt{[Problem]}}[Problem]有一只初始在位置 000 的蚂蚁,它每秒钟会向右走 111 一个单位长度。在地图上有 nnn 个虫洞,第 iii 个虫洞在位置 xix_{i}xi,如果它是活动的,它就会把蚂蚁送回到位置 yi(yi<xi)y_{i}
2021-08-20 11:15:15
152
原创 2021.08.18 CF1519B The Cake Is a Lie
CF1519B The Cake Is a Lie\color{green}{\texttt{CF1519B The Cake Is a Lie}}CF1519B The Cake Is a Lie[Problem]\color{blue}{\texttt{[Problem]}}[Problem][Solution]\color{blue}{\texttt{[Solution]}}[Solution]
2021-08-18 17:01:12
161
原创 2021 暑假集训日记
Day 111,August 16th听老师讲思想政治,然后打了一道紫的数论题,感觉很妙,然后,放学了。下午打了 201620162016 和 201720172017 年的提高初赛题,89.589.589.5 分和 72.572.572.5 分,自我感觉还不错吧。看看能不能出一套公开赛题。...
2021-08-16 17:12:30
178
原创 2021.08.11 关于树状数组那些并不总所周知的科技
O(n)\mathcal{O}(n)O(n) 建立一棵树状数组我们知道,树状数组每个点保存了区间 [i−low(i)+1,i][i-\texttt{low}(i)+1,i][i−low(i)+1,i] 的区间和,所以我们可以用前缀和算法求出数组的前缀和 ppp,则树状数组 ccc 第 iii 个节点的值就是:pi−pi−low(i)p_{i}-p_{i-\texttt{low}(i)}pi−pi−low(i)O(n)\mathcal{O}(n)O(n) 求出前缀和后,就可以再 O(n)\mathc
2021-08-11 13:47:52
205
原创 2021.07.13 洛谷 P7392
P7392 「TOCO Round 1」奇怪的排序\color{green}{\texttt{P7392 「TOCO Round 1」奇怪的排序}}P7392 「TOCO Round 1」奇怪的排序[Problem]\color{blue}{\texttt{[Problem]}}[Problem]询问 nnn 个数的排列中有多少个排列满足执行了下列函数后变成有序。[Solution]\color{blue}{\texttt{[Solutio
2021-07-13 13:12:24
261
原创 2021.07.12 洛谷P5583
P5583 [SWTR-01] Ethan and Sets\color{green}{\texttt{P5583 [SWTR-01] Ethan and Sets}}P5583 [SWTR-01] Ethan and Sets[Problem]\color{blue}{\texttt{[Problem]}}[Problem]nnn 个集合,每个有一些 [0,m][0,m][0,m] 间的整数和一个法力值 ttt。
2021-07-12 13:46:23
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人