SEERC 2022 题面简要翻译
A. Append / 附件
你有两个字符串 \(s,t\),同时你还有一个字符串数组,这个数组中的第 \(i\) 个字符串是由 \(i\) 个 \(s\) 拼接而成,现在问最小的 \(p\) 使得 \(t\) 是这个字符串数组的第 \(p\) 个字符串的子串。
\(1 \le |s|,|t| \le 5 \times 10^5\)。
时间限制:\(1\text{s}\)。
B. Birthday Cake / 生日蛋糕
你有一个 \(1 \times 1\) 的平面,这个平面上有 \(n\) 个 \(1\) 类点,\(m\) 个 \(2\) 类点。现在你需要将平面用一条直线切成两半使得其中一半只有 \(1\) 类点,请问这个只含 \(1\) 类点的平面当中最多含有多少个 \(1\) 类点。
\(1 \le n \le 5 \times 10^4,1 \le m \le 10\),保证没有两个点的坐标相同。
时间限制:\(4\text{s}\)。
C. COVID
现在你有 \(n\) 个 bool 变量和 \(m\) 组测试,对于每一组测试,假设其测试的下标为 \(a_{1},a_{2},\cdots,a_{k_i}\),那么其结果为第 \(a_1,a_2 \cdots a_{k_i}\) 个 bool 变量或起来的结果。
一般来讲,每一个 bool 变量是 \(0\) 还是 \(1\) 的概率为 \(50 \%\),但是由于这种测试方法,有一些位置被认为是 \(1\) 的概率会提升,现在你要将可能为 \(1\) 的概率从最小到最大的位置输出。
\(1 \le n \le 1000,1 \le m \le 15\)。
时间限制:\(2\text{s}\)。
D. Divisible by 4 Spanning Tree / 除以 \(4\) 的生成树
如果 \(T\) 中度数为奇数的顶点数是 \(4\) 的倍数,则树 \(T\) 是特殊的。给你一个连通图,图中有 \(n\) 个顶点和 \(m\) 条边。请判断这个图中是否有一棵特殊的生成树。
多测,\(1 \le n,\sum n \le 2 \times 10^5,\sum m \le 4 \times 10^5\)。
时间限制:\(2\text{s}\)。
E. Exercise / 锻炼
你现在有一个长度为 \(2n\) 的数组 \(c\),现在你需要构造两个长度为 \(n\) 数组 \(a,b\),满足:
- \(a,b\) 合起来之后是一个 \(1\) 到 \(2n\) 的排列。
- 不存在 \(i\) 使得 \(|a_i - b_i| = 1\) 且 \(\max(a_i,b_i)\) 为 \(2\) 的倍数。
现在你需要给出 \(\min(\sum_{i=1}^n|c_{a_i} - c_{b_i}|)\)。
\(1 \le n \le 10^5\)。
时间限制:\(1\text{s}\)。
F. Fortune over Sportsmanship / 财富胜过体育精神
\(n\) 人参加一个网球比赛,\(a_{i,j}\) 表示 \((i,j)\) 进行比赛时收获的人气, 比赛总共进行 \(n - 1\) 轮,胜方获得败方的人气(二者取 \(\max\)),且败方淘汰出局。现在希望求出比赛可能收获的人气最大值,并找出赛程。
\(1 \le n \le 1000\) 同时保证有 \(P_{i, j} = P_{j, i}\)。
时间限制:\(2\text{s}\)。
G. Gears / 齿轮
给你 \(n\) 个数 \(r_i\) 和 \(x_i\),你需要将 \(r_i\) 排序使得对于所有的 \(i \in [2,n]\) 均满足 \(x_i - x_{i-1} = r_i + r_{i-1}\),请给出一组解。
\(1 \le n \le 5 \times 10^5,x_i \le 10^{16},r_i \le 10^9\)
时间限制:\(3\text{s}\)。
H. Hanoi / 汉诺塔
现在你有一个 \(n\) 个圆盘的汉诺塔,而这个汉诺塔和原版的汉诺塔的不同之处就在于它的第一根柱子不用遵循上小下大的规则,那么现在给出最开始第一根柱子上从下到上的圆盘顺序,要求构造一种在最终第三个塔排好序的方案,次数不应超过 \(2 \times n^2\)。
\(1 \le n \le 500\)。
时间限制:\(1\text{s}\)。
I. Inadequate Operation / 操作不当
给定一个由 \(n\) 个非负整数组成的数组 \(a\) 。在一次操作中,您可以选择 \(i \in [1,n - 1]\) 和 \(\max(a_i,a_{i + 1}) \le 0\) 中的任意 \(i\) ,并将 \(a_i\) 和 \(a_{i + 1}\) 替换为 \(\max(a_i,a_{i + 1}) - 1\) 。
求使所有元素都等于 \(0\) 所需的最小操作数。
\(1 \le n \le 2 \times 10^5,a_i \le 10^9\)。
时间限制:\(1\text{s}\)。
J. Joyful Death / 愉悦的死亡
对于一个值域在 \([0,m]\) 且 \([1,m]\) 中的数只出现一次的数组 \(p\),我们定义它的价值为:
对于每一个 \(i \in [1,n]\),你都需要找到一个 \(p\) 使得上面那个式子的值最大,并输出这个最大值。
\(1 \le n,m \le 2 \times 10^5\)。
时间限制:\(3\text{s}\)。
K. Knowledge Testing Problem / 知识检测问题
给你一个无向的加权图,有 \(n\) 个顶点和 \(m\) 条边,以及 \(q\) 个形式为 \((a_i, b_i)\) 的查询。对于每个查询,找出顶点 \(a_i\) 和 \(b_i\) 之间的最短路径的长度。同时,我们保证对于所有的边 \((u_i,v_i)\) 均有 \(|u_i - v_i| \le 10\)。
\(1 \le n \le 10^5,1 \le m \le 2 \times 10^5,1 \le q \le 2.5 \times 10^5\)。
时间限制:\(3\text{s}\)。
L. Level Up / 升级
游戏有 \(n\) 个realms。玩家从领域 \(1\) 开始,等级 \(1\) 和选定的生命值。
每个领域都有许多生物,每个生物都有特定的力量。在每个领域中,玩家应该选择参与并对抗该领域中存在的一个非空生物子集。战斗发生在回合制战斗系统中。首先,所有活着的怪物都会攻击,每个怪物都会对玩家造成与其力量相等的伤害。然后,玩家选择一个参与的暴徒并杀死它(该暴徒不会再攻击玩家)。每次击杀都会使玩家升级(直到 \(m\) 级)。
一旦领域 \(i\) 中所有参与的生物死亡,玩家将恢复 \(h_l\) 生命值(其中 \(l\) 是杀死所有生物后的等级)并进入领域 \(i+1\) 。从区域 \(n\) 前进将完成游戏。玩家在游戏过程中所能获得的生命值没有限制。
史蒂夫的目标是在关卡 \(m\)完成游戏,而不是在游戏过程中拥有 \(0\) 或更少的生命值。史蒂夫必须玩得最优,这意味着他需要选择最小的初始生命值,这样他才能以最高的等级完成游戏。
\(1 \le n \le 100,1 \le m \le 5 \times 10^4\)。
时间限制:\(2\text{s}\)。
M. Mousetrap / 捕鼠夹
给你一棵树,你现在在节点 \(1\)。每一个节点的权重为 \(a_i\)。假设你在节点 \(u\) 那么你前往 \(u\) 的儿子节点 \(v\) 的概率为 \(\dfrac{a_v}{\sum_{k \in son_u} a_k}\)。现在你可以给第 \(i\) 个点的权重增加 \(p_i\),你需要保证 \(\sum p_i \le x\)。现在请你给出一个增加权重的方案使得你走到节点 \(n\) 的概率尽量大。
\(1 \le n \le 2 \times 10^5\)。
时间限制:\(3\text{s}\)。
N. Nusret Gökçe
一个长度为 \(n\) 的序列,你可以给数字加 \(1\) ,要求操作次数最少使得相邻的数字相差不超过 \(m\) 。
\(1 \le n \le 10^5,1 \le m \le 10^9\)。
时间限制:\(1\text{s}\)。

浙公网安备 33010602011771号