摘要:
题意 你有一个长为 \(n\) 的序列 \(a_n, a_i = i^k\) 从这个序列里抽出 \(m\) 个互不相同的数,求出这些数中最大值的期望。 请输出答案对 \(998244353\) 取模的结果。 \(8MB\)。 Sol 首先将 \(n,m\) 自减一。 很显然,我们需要求出 \(\db 阅读全文
摘要:
题意 给定一棵大小为 \(n\) 的树。 有两个人,每个点属于其中某一个人。 每轮选择一个度数为 \(1\) 的点删掉,设最后取得点的主人获胜。 问谁会获胜。 Sol 博弈分讨萌萌题。 首先这道题直接做肯定不好做。 考虑从特殊性质出发。 首先,对于链来说。不难想到要对于 \(n\) 的奇偶性分讨。 阅读全文
摘要:
题意 给定一个长度为 \(n\) 的数组,初始每个数的颜色为 \(1\),值为 \(0\)。 维护以下操作: 将 \(l \to r\) 的颜色替换成 \(c\)。 将数组中颜色为 \(c\) 的元素的值加上 \(x\)。 输出 \(a_i\) 的值。 \(n, q \le 10 ^ 6\) Sol 阅读全文
摘要:
题意 给定 \(n\) 个递增数组。 \(k\) 次操作,每次你可以选择一个数组,使 \(ans\) 加上数组的第一个数,并删除。 问最大化的 \(ans\) 的值。 Sol 考虑当前选择的方案如何变得更优。 不难想到,如果当前有两个数组没有选满,则一定可以调整到其中一个变成空的方案,而使得答案不劣 阅读全文
摘要:
题意 给定一个序列,你需要维护下面两种操作: 将所有 \(i mod k \in [l, r]\) 的 \(a_i\) 加上 \(x\) 求 \(\sum_{i = l} ^ r a_i\) Sol 考场代码挂成 \(35\) 了,数组全开两倍就直接过了/cf 初始化加强版,把单修改成了区修。 类似 阅读全文
摘要:
题意 给定一张图,\(q\) 次询问,每次询问两点的最小割。 Sol 最小割树模板题。 考虑去分治一个集合 \(S\)。 每次在里面随便找两个点作为源点和汇点,然后在原图上跑最小割。 然后在残量网络上标记源点集和汇点集。 分别放到两个不同的集合,然后继续分治下去即可。 Code namespace 阅读全文
摘要:
题意 有 \(n\) 个人,\(m\) 对关系,要求每对关系中,有且仅有一个人给另外一个人送礼物,并且使送出礼物最多的人送的礼物尽可能少。并输出送礼物的方案。 Sol 二分答案,对于每个人向每个限制连 \(1\) 容量,每个限制向汇点连 \(1\) 容量。 Code array <pii, N> i 阅读全文
摘要:
题意 给定一个序列,维护下列操作。 区间加 区间查询数中只包含 \(4, 7\) 数的个数。 所有数前后不超过 \(1e4\)。 Sol 块块版。 \(1e4\),发现满足条件的数的个数只有 \(30\) 个。 对于每个块开一个桶,记录每种数有多少个。 查询时暴力枚举 \(30\) 个数,暴力判断即 阅读全文
摘要:
题意 给定一棵大小为 \(n\) 的树,有 \(k\) 个人,第 \(i\) 个人在节点 \(a_i\)。 从第 \(1\) 秒开始,依次操作第 \(1, 2, 3, \ldots, k, 1, 2, 3, \ldots, k, \ldots, k, \ldots\) 个人,把这个人移动到没有走过的 阅读全文
摘要:
题意 给定一个由 \(['L', 'R']\) 组成的网格图。 每个点有一个方向,用 \(['U', 'D', 'L', 'R']\) 表示。 每次操作可以选择两个相邻的点,使其中一个顺时针旋转另一个逆时针旋转。 称一个匹配为站在两个相邻点所朝的方向上使得左边是 \(L\) 右边是 \(R\)。 S 阅读全文