摘要:
题意 给定一个 \(n\) 个点的有向图,保证每条边形如 \(i \to j, i < j\),已经有一些点被染色。 你需要求出有多少不同的染色和建边方案,使得每条黑白交错的路径数量为奇数。 \(n \le 10 ^ 5\)。 \(Sol\) 先考虑如何暴力 \(\text{dp}\)。 我们发现对 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的可重集,以及正整数 \(k\)。 设一个子集的价值为子集中最大值减去最小值,你需要将这个可重集划分为 \(k\) 个子集,使得价值之和最小,子集需要满足不重。 \(n, k \le 100\)。 Sol 思考一下发现如果不记录每个子集的信息是不好做的。 考虑将所有 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的 \(01\) 串。 定义一个串是好的当且仅当该串的所有前缀以及所有后缀的 \(1\) 的数量大于等于 \(0\) 的数量。 你需要维护 \(q\) 个查询,每次求 \(S_{l, ..., r}\) 的子串最少添加的 \(1\) 的个数使得该子串是好的。 Sol 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的序列,你可以翻转至多 \(k\) 个数的符号。 问当 \(k = 0, 1, 2, ... n\) 时,序列的前缀最大值。 Sol 显然前缀的位置是单调的。 那你决策点都单调了不是决策单调性分治还能是啥? 所以说某些唐氏儿读错题 2h+睡觉 2h+假算 30min 阅读全文
摘要:
题意 给定一张 \(n\) 个点 \(m\) 条边的有向图,每条边上有一个字母。 \(q\) 次询问,每次询问 \(s \to t\) 中的最短回文路径的长度是多少。 \(n \le 10 ^ 3, m \le 10 ^ 5\) Sol 区间 \(\text{dp}\),设 \(f_{i, j}\) 阅读全文
摘要:
题意 给定一个可重集 \(S\),求所有的前缀的集合的代价。 定义一个集合的代价为: \[\max_x \left( (\max_i b_i \lvert x) - (\min_i b_i \lvert x)\right) \]\(n \le 10 ^ 6, V \le 2 \times 10 ^ 阅读全文
摘要:
题意 你需要维护一个可重集 \(S\),支持插入删除以及查询最大的方案使得给定正整数 \(k\),划分为 \(k\) 个非空子集的按位与结果之和最大。 \(n \le 10 ^ 5\) Sol 先上个 trie。 然后考虑一次查询怎么搞。 先转化一下,如果需要划分为 \(k\) 个子集,显然需要合并 阅读全文
摘要:
题意 给定一个有向图 \(G\),以及将所有边反向重连的无向图 \(T\)。 你最多可以在 \(T\) 上连续走 \(k\) 条边,走过每条边的代价都为 \(1\),然后 必须 在 \(G\) 的对应点上走一条边以恢复体力。 若当前对应点没有出边,则停留在该点 \(1\) 代价。 求每个点到 \(n 阅读全文
摘要:
题意 给定两个长度为 \(n\) 的数列 \(a, b\),规定每次操作为选取一段长度为 \(k\) 的子段异或上任意自然数。 对于每次查询,先单点修改 \(a\) 或 \(b\),你需要求出最小的操作次数,或无法使得 \(a\) 在若干次操作后变为 \(b\)。 \(n \le 2 \times 阅读全文
摘要:
题意 给定一张 \(n \times m\) 的地图。 对于第 \(0\) 列,第 \(m + 1\) 列,第 \(0\) 行,第 \(n + 1\) 行,有 \(2n + 2m\) 个人,每个人面朝地图中心。 每个人走到别人染过色的位置,或走出地图,将走过的地方染色。 你需要求出共有多少种本质不同 阅读全文