2025 ICPC Asia EC 网络赛第一场

比赛链接

A. Who Can Win

模拟题,没啥好说的。

B. Creating Chaos

结论:最终剩下连续的 个数最优。

证明考虑原式等于

这是因为

对于 ,我们可以以 的代价先取遍 ,之后,尽量选模 意义下不同的数会优于选相同的数,因此直接选择留下 是最优的(或者选其它长度为 的连续段)。

C. Canvas Painting

贪心,从小到大依次考虑每个数是否可以变为前面的数使得最终答案减一。

为此,我们用一个小根堆维护可以覆盖当前考虑到的位置的区间的右端点,每次选择右端点最小的那个区间,用这个区间的操作改变当前位置即可,时间复杂度

D. Min-Max Tree

引理1:存在一种最优的切分方式使得最终的每个连通块中,值最小、最大的点均是叶子。

这是因为如果不是叶子,将多余的部分分为另一个连通块一定不会更劣。

引理2:存在一种最优的切法使得最终每个连通块都是链。

和引理 1 类似,拎出最大、最小结点构成的那条链,剩下的部分可以切出去,白赚了一些连通块,不会更劣。

因此,我们可以直接钦定最终切出了一堆链,并且链的两端分别是最大、最小值。

引理3:最终每条链上的点的权值单调。

否则,不妨设链由两部分组成,它们的值域分别为 ,其中 ,那么这条链的贡献为 ,不如拆为

根据这个树形dp,设 表示 子树的答案, 表示 子树内有一条伸出子树的链,链的最大值已经算进贡献的答案, 表示 子树内有一条伸出子树的链,链的最小值已经算进贡献的答案,时间复杂度

F. Robot

策略:先堵上一个角 ,然后尽量隔 ,即尽可能如图所示地堵:

将机器人困在这个矩形内后,不断堵它脚下即可。

优先级为:

  • 优先堵边界

  • 边界上,优先堵图中所示的X和机器人一步可以走到的位置(否则机器人就跑出去了)

  • 边界上优先级的第二个关键字为它到机器人的曼哈顿距离

这样,机器人无论如何也走不出这个矩形。

G. Sorting

答案为Yes当且仅当存在1 22 3,……,n-1 n

首先,如果这些都存在的话,答案一定为Yes,否则,如果不存在i i+1,构造序列1 2 3 ... i-1 i+1 i i+2 ... n,它无法被正确排序。

I. Knapsack Problem

把边反向,以 为起点跑Dijkstra即可,距离为一个二元组,包含已用的背包数和当前背包所用的容量。

J. Moving on the Plane

曼哈顿转切比雪夫,即将坐标 变为 ,每次移动会变为 ,两维独立。

原作标下的曼哈顿距离等于新坐标下的切比雪夫距离,因此现在要求对于任意两点 ,满足

也就是 并且 ,两维独立,分别做后乘法原理即可。

现在的问题转化为,数轴上给定初始的 个点,每个点可以走 步,每步 ,要数最终这些点处于一个长度不超过 的区间内的方案数。

枚举长度为 的区间的起点并钦定左端点至少存在一个点,再算出每个点最终落在这个区间的方案数即可,总时间复杂度 ,其中 是值域。

K. Counting

表示 个点的无标号有根树中,恰有 个点有恰 个儿子的方案数,那么

拉反,由于 ,于是 的复合逆为 ,拉反得到

推推式子,有

于是

接着大力展开,这个东西等于

熟知 ,于是答案即为

于是答案为

变换一下下标,化作

对于固定的 ,设 ,并设 ,其中 ,这是因为必须有 ,因此

于是

对比待求式子,答案即为

答案不为 对只有 个,枚举 后每次NTT,时间复杂度

注意当 时会遇到 的情况,所以需要将 的情况特判掉。

M. Teleporter

首先最终的路径一定是:走树边、传送、走树边、传送交替进行。

考虑按 升序求出每个答案,设 表示此时到 的最短距离,每次处理出之后只需要遍历每个传送边 并更新 即可多走一个传送边,这部分的复杂度是 。考虑用树边更新最短路的方式,一定是先向上走若干步,再向下走到某个结点,更新最短路,因此可以分两步进行,这部分的时间复杂度为

两部分合起来即可,总时间复杂度