2022-2023 ICPC, NERC, Northern Eurasia Onsite 题解

Cxny

瞎胡几个题。只写了一道。被队友带飞。

持续更新(?)中。

F. Football

两队踢了 场比赛,告诉你其中一队赢输球数 ,问最少几场平局,并给出方案。

和 特判一下。其他情况容易构造出平局数为 的方案。

E. Easy Assembly

有 个方块堆成的塔,每一块上写有数字,数字各不相同。一次操作可以将一个塔从中间分成两个,或者将一个塔放到另一个塔的上面。现在需要用所有方块叠出数字从上到下递增的塔。问总操作次数最小的情况下需要进行两种操作分别几次。

贪心,把每个塔拆开再合并回去。稍加计算即可。

A. Amazing Trick

给定排列 ,构造两个排列 使得 且 。或报告无解。

发现若确定中间状态就可以确定排列 和 。而为了满足限制,中间状态 需要满足 。

必定无解。 各有一种情况无解。

对于剩下的情况,考虑对值和位置建出二分图。每个位置有不超过两个限制,因此每个点度数 。

根据 定理可以证明,此时一定有解。

感性理解,这样的排列 有很多。直接随即可。

I. Interactive Factorial Guessing

交互,每次可以询问 第 位上的值。在不超过 次询问内找出 。。

预处理出 到 的阶乘,每次询问信息熵最大的即可。需要手打出第一层的决策树。

K. King’s Puzzle

给定 ,构造一张 个点的无向简单连通图使得图上的点恰好有 种不同度数。

点度数最大为 ,所以 显然无解。尝试直接构造出 的情况。

可以构造两个度数分别为 和 的点两个点之间连边。剩下的就是 的子问题。

对于 ,在度数为 的点外再接一条链即可。

需要特判。

B. BinCoin

有一棵二叉树,每个节点只有 或 个儿子。给定这棵树的 个随机访问的中序遍历,还原这棵树的结构,或报告无解。。

考虑如何找到根。对于根,中序遍历的左右两侧分别是其两棵子树,其点集在 的中序遍历中应该完全相同。维护集合哈希值即可维护。

找到根之后,对左右两半递归下去做就行了。

D. Dominoes

的网格,有些位置是障碍。问有多少种将两个空格变成障碍的方式,使得无法使用 的骨牌将网格填满。保证初始状态能被填满。输出方案数向 取 的结果。。

典中典。

经典结论:黑白网格数相同是可以被填充的必要条件。因此,同时填充两个黑格或白格之后一定无解。

此时若方案数仍 ,则有空格数 。

再考虑经典做法。对相邻的黑格和白格连边,有完美匹配是有解的充要条件。

下面设二分图左部和右部各有 个结点。由于初始状态有解,该二分图有完美匹配。

考虑去掉左部的每一个点。此时的最大匹配一定是 。若右部的某一个点必定在最大匹配上,那么删去这个点后不存在完美匹配。

之后的做法就和二分图博弈差不多了。网络流,从汇点沿 边跑 dfs,搜到的点一定在最大匹配上。

H. Hot and Cold

接下来的题就没有场切了。

的网格中有一个点是宝藏。交互,每次可以访问一个点,可以得到“找到了!”或者与上一个点相比到宝藏的距离是更近还是更远。你并不懂当地语言,不知道回答到底是哪一种,但可以分辨“找到了!”。你需要在 次询问内找到宝藏。

先考虑知道更近还是更远应该怎么做。可以每次询问一个 形,这样就可以使横纵坐标分别缩小一半。

再考虑如何得到更近更远所对应的字符串。

很蠢的事情是,询问 就能找到哪个是更远。因为 几乎一定更远,除非答案是 ,或者答案在 ,而这种情况会收到两个相同的答复。Link

然后就做完了。询问次数卡的很死。

  • Post title:2022-2023 ICPC, NERC, Northern Eurasia Onsite 题解
  • Post author:Cxny
  • Create time:2022-12-08 08:08:04
  • Post link:https://cxny.github.io/2022/12/08/2022-2023ICPC-NERC-NorthernEurasiaOnsite/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.