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\) 的节点的子节点。

请在初始时和每次操作后求出可爱点对的数量。

假如你是李华,请解决这一问题。

posted @ 2023-04-09 00:30  rui_er  阅读(1907)  评论(1编辑  收藏  举报