Loading

The 2024 ICPC Asia East Continent Online Contest (I)

比赛链接

Review

开题策略是我 \(3k+1\),APJ \(3k+2\),zzz \(3k\)

上来感觉 A 是签到然后爆了一发,仔细想了一下实际是构造题然后过了。

之后 zzz 过了 M,APJ 识别 C 是见过的题用 pb_ds 可并堆过了。

经过 F 爆的几发成功写过了,随后交流了一下二分过了 G,期间有一些神秘举动,此时剩余约两小时。

之后 APJ 看 D 然后开写,然后没过样例。我和 zzz 一通分析 L 得出若干神秘内容,得出一个神秘算法。APJ 识别出题读错后我上机狂码。

APJ 继续发力破解 H 题,但需要上下界费用流,紧急拉了我的板子然后迅速通过。

剩下时间走了一些弯路狂写 L,最后还是没调出来。(赛后一小时过样例然后 TLE 了,zzz 把 T 调完成功 WA。)

确实没啥手感,XCPC 确实不是狂写不止的比赛,很多题目多想一步就能超级好写了!

在参赛队伍里是正好 rk100,感觉错完了。

Solution

A. World Cup

因为中国队小组无法出现所以答案唯一。

小组出线的前提很好构造,下面考虑一下进八强的情况。那就是拿出两个小组来考虑,发现这里面最多有一个比中国队强,否则一定会在淘汰赛输掉。

同理四强等等都是每两个小组恰有一个比中国队强,最优情况就是他们都分在了另一半区,把剩下弱的排名数一下就行。

C. Permutation Counting 4

注意到模数为 \(2\) 是相当特殊的条件,如果矩阵第 \(i\)\([l_i,r_i]\) 范围为 \(1\),则求出的积和式即为答案。而在次模意义下,行列式结果相同,且执行线性变换结果仍旧。

APJ 的做法就是应用高斯消元法了。题解做法做了一步转化,类似整列做差分(先补充 \(0\)\(0\) 列,把左上角设为 \(1\)),这样变成 \(l_i-1\) 位置为 \(-1\)\(r_i\) 位置为 \(1\),那么如果 \((l_i-1,r_i)\) 的连边能成环,这行拉出来就是线性相关的,结果自然是 \(0\)。反之,在行列式展开式的每一项中,相当于每条树边都要选某个端点,而 \(0\) 号必须由自环选出,有贡献的只有一项,结果为 \(1\)

F. Make Max

显然每次只拓展一位最优,选最小的连续段拓展到两侧较小值即可。

G. The Median of the Median of the Median

中位数一般就是 \(\pm 1\) 和二分。

这里二分仍旧是对的,可以直接暴力求出每个区间的中位数是否小于等于 \(mid\),后续就是一个矩形加的二位前缀和。

L. Bull Farm

读题障碍——每个操作是同时移动所有位置上的牛。

分析一手发现,最多有两个点朝向相同,否则一定有冲突的可能。如果入度均为 \(1\),相当于是空位可以在环上传递,是无向边;另一种情况,记没有入度的点 \(x\),朝向相同的两个点 \(u,v\),模拟一下发现空位会从 \(u,v\) 传向 \(x\),是有向边。

可以用并查集维护,无向边只保留对连通性有影响的边,有向边全部保留,这样边数是 \(O(n+l)\) 的。给每条边一个时间戳,变为求全源路径最大值最小,由于权值值域很小,可以直接开桶跑最短路,复杂度 \(O(n(n+l))\)

赛时两部分想的都错完了,前者分析没问题但是去处理基环树了,后者想的一直 Tarjan,实际完全没必要啊!此类问题可以不用枚举时间维度。

M. Find the Easiest Problem

模拟题。

posted @ 2025-09-04 19:46  SoyTony  阅读(135)  评论(4)    收藏  举报