01 2024 档案
摘要:题意 给定整数 以及模数 。 你需要构造三元组 满足: \((x + y + z)(x ^ n + y ^ n + z ^ n)(x ^ {2n} + y ^ {2n} + z ^ {2n}
阅读全文
摘要:题意 有 个桶,每个桶里有 单位水。 每次查询按 的顺序进行。 当操作到桶 时,先将当前桶里的水取 加入答案。 并将当前里的水全部流向 ,最多只能流 单位。 每次修改 \(a_p, b
阅读全文
摘要:题意 给定一个 层的金字塔。 第 层有一个 到 的排列。 除 层以外每个数组都是下面三个数字的中位数。 求第一层的数字。 Sol 考虑二分答案的正确性。 注意到如果 不是中位数,那么 \(j \le i
阅读全文
摘要:题意 给定 个不可重集,初始每个集合 有元素 。 请你以下 种操作: 1 x y 在集合 插入 。 2 x y 将 集合所有数插入 ,并删除 集合(不影响别的集合的下标) 3 x y 求 \(x
阅读全文
摘要:题意 求字符串 删去每个区间后字符串 出现的次数之和。 Sol 不难注意到答案分为两类: 删去区间后,一个前缀和一个后缀刚好拼成 。 存在于前缀之中,本身就与 匹配,以及存在于后缀之中,与 匹配的串。 第二类明显是 的
阅读全文
摘要:题意 给定一个长度为 的数组。 次询问,每次询问区间 。 Sol 考虑主席树维护区间 。 不难发现可以考虑维护当前所有点的最后出现的下标。 直接套板子即可。 Code #include <iostream> #include <algorithm>
阅读全文
摘要:题意 给定 个数,你需要把每个数分成两组,使得: 没有组为空。 两个组内所有数的按位或相等。 Sol 不难发现,当某一位上全是 的数被分在了一个集合内时,方案一定不合法。 考虑容斥计算这个东西。 对于每一位,建一个点。考虑把所有数抽象成边,对于当前 如果第 \
阅读全文
摘要:题意 给定一棵树和 个操作。 如果点 是白色,将她染红,否则对她地儿子做这个操作。 将点 子树内所有点染白。 询问 的颜色。 Sol 考虑对询问分块。 不难想到将当前块内的点建一棵虚树,然后再重构。 暴力建虚树即可。 Code #include <io
阅读全文
摘要:题意 一个集合,初始为空。 请你维护以下 种操作。 把 中在集合中没有出现过的数添加到集合中。 把 中在集合中出现过的数从集合中删掉。 把 中在集合中没有出现过的数添加到集合中,并把 中在集合中出现过
阅读全文
摘要:题意 给定一棵大小为 的树。 有两个人,每个点属于其中某一个人。 每轮选择一个度数为 的点删掉,设最后取得点的主人获胜。 问谁会获胜。 Sol 博弈分讨萌萌题。 首先这道题直接做肯定不好做。 考虑从特殊性质出发。 首先,对于链来说。不难想到要对于 的奇偶性分讨。
阅读全文
摘要:题意 给定 个递增数组。 次操作,每次你可以选择一个数组,使 加上数组的第一个数,并删除。 问最大化的 的值。 Sol 考虑当前选择的方案如何变得更优。 不难想到,如果当前有两个数组没有选满,则一定可以调整到其中一个变成空的方案,而使得答案不劣
阅读全文
摘要:题意 给定一张图, 次询问,每次询问两点的最小割。 Sol 最小割树模板题。 考虑去分治一个集合 。 每次在里面随便找两个点作为源点和汇点,然后在原图上跑最小割。 然后在残量网络上标记源点集和汇点集。 分别放到两个不同的集合,然后继续分治下去即可。 Code namespace
阅读全文