ICPC2020南京 游记(VP)
省流
五年前的题打到银首,感觉放到现在应该也就铜。
10.31
内含剧透,请vp后再来。
不是题解!!!!!!!
赛前
简要和他的其他队友 vp 一场去准备武汉区域赛,于是我和叶神,带着 wanglinqi 一起开了一把比较古老的区域赛。
赛时
跟着榜先开了 K 题,要求构造一个长度为 \(n\) 的排列使排列中下标和数字的 gcd 为 \(1\) 的个数恰好为 \(k\)。我一开始读错了题目,叶神很快说想到了,我问了他题意之后认为他的解法是正确的。一开始排列按顺序排,然后答案就是只有 \(1\) 这一个位置,临项交换两个位置会让答案加 \(2\),于是他上机去写。
我和 wanglinqi 去开 L,L 是给了一些红点和蓝点,要求选择一个点使到这个点距离小于最近的蓝点的红点的数量最多。我发现这个点只会取两个蓝点间的中点,而答案就是这两个蓝点之间的红点数量。和 wanglinqi 说后他发现这样会漏掉两端,所以要在开头和结尾特判一下。
叶神以不知道为什么的挂一发写完 K,wanglinqi 上机,我和叶神一起去看 F。
F 是给定 \(n\) 和 \(m\),制作一个烟花要 \(n\) 时间,点燃所有烟花要 \(m\) 时间,一个点燃的烟花成功率为 \(p\),问最好的方案有一个烟花成功点燃的期望是多少时间。我首先和叶神说一定是制作固定数量的烟花数再点,然后猜测一个结论可以三分。叶神同意前一个,但觉得应该可以直接根据 \(p\) 和 \(m\) 计算出需要制作的烟花个数。我通过样例计算认为他是错误的,但他觉得是我期望算错了,和他稍微吵了一会,非常对不起他,而且我也重新确认了比赛概率相关的东西还是要我来。
也许是 wanglinqi 初次打区域赛有点不擅长叶神的机子,码的慢了一些,中间帮助他查了一下以及加了快读,以一发罚时通过。
然后我上机写 F,在此前看了 E 题认为是简单模拟于是丢给 yrjzs。wanglinqi 则是去搞了 M。
我很快码完 F,因为精度问题吃了两罚,然后看 M。yrjzs 上机码 E,挂了,wanglinqi 转过去帮他查细节。
M 题给了一棵树,要求树从上往下删掉每一个点,删掉的点的消耗是他本身的值加所有儿子的值,问可以免费去掉从 \(0\) 到 \(n\) 个点后总消耗最少是多少,点的数量为 \(2000\)。我一开始在和 wanglinqi 讨论,容易想到应该考虑加点而非删点,考虑贪心。但是贪心很难维护前一步先取父亲,后一步却取两个儿子的情况。我想到对于一个点来说,儿子很多而父亲永远只有一个,所以如果使用树形 dp,可以通过存储一个根节点下选择了 \(j\) 个点,以及他自己有没有被选择的 \(dp\)。父亲节点则需要对每个儿子更新一次。因为每个儿子都只会在父亲处更新一次,以及自己计算时更新一次,所以复杂度仍然是 \(n^2\) 的。我整理好转移方程后让他们下机,我很快写完一发通过。
接着很快他们通过 E 题,虽然吃了四罚但已经稳银了,不过受到鼓舞后,且还有 \(100min\),决定再开题,虽然一题已经不会影响排名,但是考虑做出两题。于是他们看金牌线的 H 题,我则是看了几个奖杯题看有没有擅长的。
看完之后感觉奖杯题不太可做,于是让他们给我讲 H。wanglinqi 讲是一个方阵中涂三种颜色,要求存在一个矩形,四个角中,有两个相连的角同色,而另外两个角也同色。问方案有多少种。在他给我介绍题意时,一边画一边想我提出了有一边大于 \(6\) 就必定所有情况可以满足,于是我们考虑小于等于 \(6\) 的情况。随着时间流逝,非常慌,于是看了可能大小发现并不大,于是暴力求出了小于的所有情况,打表通过了,拿下银首。
赛后
E 题是给了一个人在起点,给了一个向上下左右走的序列,要求任意交换这个序列中的位置,走的时候不能碰到一个给定位置的炸弹。我们做的时候是分类讨论了炸弹的位置,很麻烦,而题解直接枚举了四种方向走的顺序的情况,只有 \(24\) 种,这样的做法很轻易的解决这道题目。
距离 ICPC2025 沈阳站还有 \(14\) 天。
2025年11月1日

浙公网安备 33010602011771号