https://qoj.ac/category/585

1.Q833. Cells Blocking

2.Q837. Giant Penguin

点分治,对于分治中心,最多 对点跨子树。对于起终点在不同子树的对的距离,可以枚举 个关键点作为中转。

3.Q850. Edit Distance Yet Again

表示 分别匹配到 不降, 表示最大的

需要二分哈希跳过相同部分。

4.Q856. Cactus

仙人掌可以直接找环,对于不同的环长有一个系数。

或者直接广义串并联方法。

5.Q857. Social Distancing

给每个点按深度从大到小重标号,一个互相可达的等价类的代表元要求字典序最小。

考虑一个点 能不能放,之前的点不会有影响。如果最后是 ,则 路径为空,只用调整邻域,即尽量把每个点都往子树扔一步。

每个点 次,次数不超过

6.Q862. Social Justice

好像随便做。

8.Q888. Travel around China

提前预处理 的最短路。

分治,已经可以保证路径只在分治范围内。处理出点到 的最短路,二维偏序算哪个是最小的。

9.Q962. Thanks to MikeMirzayanov

转化为全局 reverse,再对每个区间 reverse,最后调整奇偶性。

分治,,对 序列排序,缩连续段。可以形如操作 ,每次可以使 对减半。次数

10.Q964. Excluded Min

形如后缀加,求下标最大的 的位置。

直接莫队,要平衡一手 的修改和 的询问。直接按 分块,再按 分块,块内维护最大前缀和。修改 ,查询

11.Q970. Best Subsequence

P14231

二分,先取出所有 的,然后对每个间隔考虑能不能多选一个。

整体二分。

从小到大扫值域,把贡献差分为,当 的时候有 的贡献。对于一个 ,所有有值的 不交。只把贡献放在 ,再额外减去跨过 的。

在外面对询问和修改按下标排序,单 log。

12.Q971. Binary Search Tree

19.Q1351. Koosaga’s Problem & 20.Q1355. Rhythm Game

Petrozavodsk Summer 2020. Day 6. Korean Contest

27.Q1817. AND Permutation

递归做。

先处理 位为

对于每个 使得 位为 也在集合内。把 的答案改为 的答案,并把 集合继续递归。

33.Q1844. Cactus

能删就删,最后剩下一些全是偶度数的仙人掌,此时不存在只有两个点的点双,使用操作二。

建圆方树,对于一个环,保留连向父亲的一对点不动,其余绕环黑白染色,删光黑点,能删掉除了这对点以外的整个环。从叶子开始删即可,最后一定能删光。

46.Q2570. Maximal Subsequence

求出

最少删几个点。可以转为最小割,即连边 ,对于 连边 。最小割等于最大流,即选 条不相交 lis 为 的子序列。

可以直接选最靠左的合法的子序列。

48.Q2605. Soccer Match & 49.Q2606. Gachapon

Petrozavodsk Winter 2022. Day 6. ICPC Camp Day 1

59.Q4805. Grammy Sorting

给图定向 使得满足:对于每个 ,都有 ,等价于 是唯一 入度点, 是唯一 出度点,等价于 的双极定向。

倒序考虑双击定向的染色过程,后缀已经经过调整满足,加入点 。此时一定存在 的路径, 可以走到一个后缀,在后缀中乱走直到 。换这条路径可以使 加入后缀且符合条件。

对于任意图,求一棵生成树,存在通用的 做法,见 Q11628

60.Q4808. Great Party

条件为: 为奇数或

归纳,偶数时不能进入奇数,每堆剩一个不能动;奇数时先手操作扔掉一个 可以使得剩下的为

74.Q7412. Counting Cactus

Q13329

好想多了吧。

here

84.Q8184. Different Summands Counting

枚举 ,容斥至少出现了 次。

对于每个 ,不超过 次多项式,求 个前缀和插值。

95.Q10091

预处理小的,搜大的。

110.Q11627. Rectangles & 111.Q11630. Simple APSP Problem

Petrozavodsk Winter 2018. Day 3. AtCoder Contest

114.Q12212

怎么能在一个题单里出现两次。

可以 组询问单 log。

115.Q12213. Cool pairs

直接做。