06 2023 档案
树链剖分
摘要:# [P3379 【模板】最近公共祖先(LCA)](https://www.luogu.com.cn/problem/P3379) 本题中的树链剖分均指重链剖分。 这里不使用[重链剖分](https://www.luogu.com.cn/problem/P3384)作为模板是因为这道题更加典型,不需
SugarWater2
摘要:# [[ABC294F] Sugar Water 2](https://www.luogu.com.cn/problem/AT_abc294_f) 考虑二分答案。 二分出来一个 ,然后检验浓度 的糖水数量,如果 说明小了,否则说明大了。 考虑到每个糖水对
EveryWhereIsSparserThanWhole(Construction)
摘要:# [[ARC161D] Everywhere is Sparser than Whole (Construction)](https://www.luogu.com.cn/problem/AT_arc161_d) 构造题,重在思路,代码不难。 考虑有一个性质,既然部分比整体更稀疏,那么需要每个点的
substr=S
摘要:# [[ABC295F] substr = S](https://www.luogu.com.cn/problem/AT_abc295_f) 看到题可能想到数位 `DP`,但其实就是一个暴力而已。 首先区间当然用前缀和作差的形式。 枚举匹配给定串的,位置然后发现这个位置把整个数截成了三段。 考虑匹配
MinimumReachableCity
摘要:# [[ABC295G] Minimum Reachable City](https://www.luogu.com.cn/problem/AT_abc295_g) 考虑维护强连通。 显然的性质:每个点一定不会往自己的子树内走,因为子树内的编号一定大于其本身。 然后,发现直接用并查集合并并不行,因为
DistinctAdjacent
摘要:# [[ABC307E] Distinct Adjacent](https://www.luogu.com.cn/problem/AT_abc307_e) 解答1: 我们将圆环上有 个人的情况的答案记为 。考虑有 个人排成一排的情况,此时答案为 $M \times (
KthNumber
摘要:# [[ABC295E] Kth Number](https://www.luogu.com.cn/problem/AT_abc295_e) 考虑这个贡献可以表示成这样 其中 是答案为 的概率。 我们可以考虑枚举空位的
RookScore
摘要:# [[ABC298F] Rook Score](https://www.luogu.com.cn/problem/AT_abc298_f) 关键在于如何排除交叉位置计算两次的干扰。 首先进行离散化,行和列是独立的,所以可以分别对行和列离散化。 考虑到可以枚举每一行,而每次覆盖到的点可以在线段树中减
InsertionSort2
摘要:# [[ARC162B] **Insertion Sort 2**](https://www.luogu.com.cn/problem/AT_abc288_d) 本题还是对于不变量的考察,但是比较明显。 首先两个数捆绑插到任意一个位置可以等价为**偶数次**相邻交换((因为你每次可以这样:比如现在是
UnfairSugoroku
摘要:# [[ABC288D] Range Add Query](https://www.luogu.com.cn/problem/AT_abc288_d) 这道题考察了一个很重要的知识点:不变量 关于不变量的介绍,就在[本题官方题解](https://atcoder.jp/contests/abc288
UnfairSugoroku
摘要:# [[ABC298E] Unfair Sugoroku](https://www.luogu.com.cn/problem/AT_abc298_e) 考虑令 表示第一/二个人投完,一、二两人数字为 的概率。 $$f[A][B][0]=\dfrac{1}{P
SquareSubsequence
摘要:# [Square Subsequence](https://www.luogu.com.cn/problem/AT_abc299_f) 一眼 `DP`。 首先状态: 表示第一个 在 中,第二个 在 ,然后必选 $s[i],
[ABC299G]MinimumPermutation
摘要:# [[ABC299G] Minimum Permutation](https://www.luogu.com.cn/problem/AT_abc299_g) 考虑一个必要的性质:如果现在有一个数 ,它后面有一个数 ,且 又在 后面出现了若干次($x_2,
P-smoothnumber
摘要:# [[ABC300G] P-smooth number](https://www.luogu.com.cn/problem/AT_abc300_g) 上来看到题就可以爆搜了。状态是 表示现在再在处理第 小的素数,剩余 。然后转移是 $f[n][p]=f[n/pri
MoreHolidays
摘要:# [[ABC300F] More Holidays](https://www.luogu.com.cn/problem/AT_abc300_f) 问题关键:发现并证明一下引理: - 一定存在最优解最左端的 `o` 在 。 考虑最优解最左端的 `o` 不在 ,那么修改的
DiceProduct3
摘要:# [[ABC300E] Dice Product 3](https://www.luogu.com.cn/problem/AT_abc300_e) 考虑令 表示投到 的概率。 显然,$f(i)=\dfrac{1}{6}(f(i)+\sum_{i=2}^6 f(\dfrac{n
F
摘要:# [[ABC305F] Dungeon Explore](https://www.luogu.com.cn/problem/AT_abc305_f) 应当深深反思自己为什么做不出最近最简单的 `F`。 关键是 `DFS` 的性质: - 可以遍历 次就完成图的遍历。(首先每个点肯定要进
Pac-Takahashi
摘要:# [[ABC301E] Pac-Takahashi](https://www.luogu.com.cn/problem/AT_abc301_e) 考虑到有猴子的位置最多只有 个,算上起点终点一共 个,然后预处理出这些位置之间的**两两距离**,这样复杂度不会太高。 然后考虑到可
[ABC303F] Damage over Time
摘要:# [[ABC303F] Damage over Time](https://www.luogu.com.cn/problem/AT_abc303_f) 我们定义一个技能 **能够造成 的伤害**称伤害是**满的**,如果不能称是**有浪费**的。 如果不知道
ShiftTable
摘要:# [[ABC304F] Shift Table](https://www.luogu.com.cn/problem/AT_abc304_f) 考虑直接枚举所有可能的 计算答案。对于串中是 `#` 的位置是自由的,`.` 的位置则是锁定的。考虑对于一个 ,如果原串中 .,
GoodGraph
摘要:# [[ABC304E] Good Graph](https://www.luogu.com.cn/problem/AT_abc304_e) 可以用并查集维护目前已有的连通块。首先应当判断给定的图是不是不好的图,如果是不好的,后面肯定都是不好的。除此之外,可以对于每组点对,记录它们对应的连通块是不可
Xor-MST
摘要:# [Xor-MST](https://www.luogu.com.cn/problem/CF888G) 这道题其实是一种最小生成树算法名曰 `Boruvka` 的算法,但是平时还是 `Kruskal` 算法用的说,相信大家也是由它想起的。 根据套路,由于要求的是异或边权之和的最小值,果断构建 `0
First!G
摘要:# [[USACO12DEC]First! G](https://www.luogu.com.cn/problem/P3065) 考虑到跟单词的排名有关,先构建字典树。然后考虑枚举每个单词是否能作为字典序最小者。 首先如果有其他单词是这个单词的前缀的话,这个单词肯定不能作为答案。 其次,如果一个单词
[ARC085F] NRE
摘要:# [[ARC085F] NRE](https://www.luogu.com.cn/problem/AT_arc085_d) 首先这道题要先将区间**按左端点排序**。 令 表示前 个区间已经决策好是否选择,而且**第 个区间必选**的情况下的最小不同数。再令 $sum
[NOI2014]动物园
摘要:# [[NOI2014] 动物园](https://www.luogu.com.cn/problem/P2375) 这题看题目描述就知道一定是跟 `KMP` 扯上关系了。首先,如果不考虑长度超过 的限制的话,那么就很简单,每次求出一个新的 时,如下图所示
括号树
摘要:# [[CSP-S2019] 括号树](https://www.luogu.com.cn/problem/P5658) 首先括号序列的合法性十分简单,在此不再赘述。考虑到对于一个点 ,我们如果求好了它的父节点的答案 ,那么考虑如何求 。我们只需要求解以 $u
[ABC303E]
摘要:# [[ABC303E] A Gift From the Stars](https://www.luogu.com.cn/problem/AT_abc303_e) 每次合并都是合并入度为 的点,所以合并的一定不是中心,且被合并后入度是 。因此如果某个节点的入度 ,那么这个
[AGC012D]
摘要:# [[AGC012D] Colorful Balls](https://www.luogu.com.cn/problem/AT_agc012_d) 只要两个球可以**交换位置**,那么它们必定可以**改变相对顺序**,而且可以**传递**。 ## Part 1 首先考虑暴力做法:每两个球之间暴力建
AT_agc009_c
摘要:# [Division into Two](https://www.luogu.com.cn/problem/AT_agc009_c) ## 思路 一道 DP 好题。 我们假定 ( 对应 集合, 对应 集合)。我们先判掉存在 个数两两之差小于 $B