Codeforces Round 864 (Div. 2) 中文题面
Codeforces Round 864 (Div. 2) 中文题面
A. 李华与迷宫
有一个大小为 \(n\times m\) 的矩形迷宫。称两个格子相邻,当且仅当它们有一条公共边。定义一条路径为若干相邻空格子的序列。
每个格子初始为空。李华可以在若干个格子中放置障碍物。他希望知道最少需要放置多少个障碍物使得不存在一条从 \((x_1,y_1)\) 到 \((x_2,y_2)\) 的路径。
假如你是李华,请解决这一问题。
B. 李华与图案
李华有一个大小为 \(n\times n\) 的图案,每个格子为蓝色或红色。他可以进行恰好 \(k\) 次操作。每一次操作,他选择一个格子并改变其颜色(红变蓝,蓝变红)。每个格子可以被选择任意多次。是否可能使得操作后的图案中心对称?
假如你是李华,请解决这一问题。
C. 李华与象棋
本题是一道交互题。
李明和李华在玩游戏。李华有一个大小为 \(n\times m\) 的国际象棋棋盘。李明在棋盘上放置了一个国王,李华需要猜出他的位置。
李华可以问李明不超过 \(3\) 个问题。对于每个问题,他可以选择一个格子并询问国王移动到那里的最小步数。每个问题相互独立,也就是说国王不会真的移动。
国王可以从 \((x,y)\) 移动到 \((x',y')\),当且仅当 \(\max\{|x-x'|,|y-y'|\}=1\)(如下图所示)。
国王的位置在交互前被确定。
假如你是李华,请解决这一问题。
D. 李华与树
李华有一棵 \(n\) 个节点的有根树,根节点为 \(1\),第 \(i\) 个节点有点权 \(a_i\)。定义一个非叶子节点 \(i\) 的重儿子 \({son}_i\) 为子树大小最大的,若有多个则取编号最小的。
维护 \(m\) 次操作:
- 操作一:求以 \(x\) 为根的子树内的点权和。
- 操作二:切断 \((x,{fa}_x)\) 之间的边,在 \(({son}_x,{fa}_x)\) 之间连一条边。如果 \(x\) 为叶子,忽略这次操作。
假如你是李华,请解决这一问题。
E. 李华与数列
李华有一个长度为 \(n\) 的数列 \(a\),维护 \(m\) 次操作:
- 对于区间 \([l,r]\) 的每个 \(a_i\),将其改为 \(\varphi(a_i)\)。
- 对于区间 \([l,r]\),求至少需要进行多少次操作,使得区间的所有 \(a_i\) 相等。一次操作为选择恰好一个 \(a_i\) 并将其改为 \(\varphi(a_i)\)。操作不会真的进行。
假如你是李华,请解决这一问题。
F. 李华与路径
李华有一棵 \(n\) 个节点的无根树,节点编号 \(1\sim n\)。
他认为一个点对 \((u,v)\)(\(u < v\))是可爱的,当且仅当以下两个条件中恰好有一个成立:
- \(u\) 是 \((u,v)\) 路径上编号最小的节点。
- \(v\) 是 \((u,v)\) 路径上编号最大的节点。
维护 \(m\) 次操作,对于第 \(j\) 次操作:
- 添加一个编号为 \(n+j\) 的节点,作为编号 \(k_j\) 的节点的子节点。
请在初始时和每次操作后求出可爱点对的数量。
假如你是李华,请解决这一问题。