赛题:[PA 2026] 列竖式 / Dodawanie [PA 2026] 堆煎饼 / Stosy naleśników [PA 2026] 竞选 / Kampania wyborcza A305

昨天晚上干啥了为什么今天起来超级困?食堂今天有奶黄包!

考前:这比赛咋放这么多水啊。

考后:被一道绿卡了 2h2\text{h}

赛时

7:307:30 开题,7:407:40 通过 T1。这比赛还是有点水啊……吗?

然后看 T2,没想到什么思路,感觉是反贪。

想了 55 分钟想到把递减数组合一块贪心。然后递增的倒着处理。

就先这么写了。8:158:15 写完,但是 WA 了。我当时觉得没什么问题,想了一会也不知道为什么,就打了个暴力准备拍一会。拍了 22 分钟拍出来一组 hack:

3 3 4
2 6 7 
1 2 10 
10 9 4

好了我的做法假了。想了一会实在想不到如何处理递增堆。真是的我怎么连道绿都切不动了。

看了眼 T3 有点复杂,不是很会(或许可以暴力 bfs?)。

于是去看 T4,想了 22 分钟发现对于一个区间的 P0P_0 在整个区间的 PkP_k 中出现的次数是在两端个选择 kk 个断点的方案数。

于是就开始写 O(N2)O(N^2) 暴力,9:029:02 写完,然后考虑去优化。一看两个组合数的计算还带系数,优化 nm。放弃了,回去看 T2。

真奇怪,我怎么又只花了 55 分钟就想到了关于递增堆的一个关键性质:最多取一个散堆。这样只需要简单维护加上反贪就行了。

10:0010:00 写完,怎么比以前的分更少了?扔给拍子。不是怎么小根堆忘改成大根堆了!10:0510:05 过了。

天哪我做一道绿题做了 2.5h2.5\text{h}!!!这题不得不说是真好,数据也很强。

脑子特别乱,T3 完全没心思看,去看 T4。

想了一会还是先单调栈优化一下,10:3010:30 把另外 1010 分拿了,目前 230230 分。

突然我有个比较坏的注意:考虑到 tjh 昨天造数据的时候造的很匆忙,我猜他的数据绝对大部分基于 mt19937 大人之力,估计不强。我决定沿用我 O(N2)O(N^2) 的代码,借助单调栈优化前缀和处理掉一个循环(但是总复杂度还是 O(N2)O(N^2)),这样就只跟这个数组的 LL 数组有关了。11:0011:00 写完交上去,8080 分。看来我猜的不错。

但是时间不够了不然能多拿几个点,就先回座位了。

最终得分:100+100+0+80=280100+100+0+80=280,排名 22(wyh T3 拿了 9999 分也是神了)。

赛后

T2 的 Luogu 题解似乎有点不是很好?那我自己写一篇吧。

首先这个 T2 浪费了我足足 2h2\text{h},这个万一是在 CSP 上我不得炸了。

T3 为什么又是并查集?我的天哪连续两天败在并查集大人的手下。由此可见我的图论和并查集烂的一匹。

T4 不是哥们我就差一个小式子啊!!!我连单调栈优化加前缀和都想到了,就差一点点……有点可惜,好在数据较水让我混过去了。

不过这次比赛我的心理素质居然如此顽强,全程都乐呵呵的。又是非常开心的一天。