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

直接做。