集训内容总结 day12:模拟赛 Round5
比赛过程
T1 首先看了几眼就有神秘感觉,稍微推了推感觉没啥问题。成功对上脑电波了。测大样例发现大样例太水就拍了一下,果然出了锅。30min 时修完了。
在卫生间 waiting 了 30min。期间想完了 T2 的费用流做法,能得 60pts。感觉正解是类似模拟费用流状物但是我不会做。
回去后写完了 T2。开始死磕 T3。手玩了许多小数据发现一些神秘性质,但是写不出 dp。一直调到结束没调完不知道正确性的做法。
题解
T1
发现可以将拎出来的数独立丢到另一个集合内,这样我们就只需要关心集合的大小和原序列选到哪里了。这样子每次操作把数丢到哪里都会在最后求得,因此不重不漏。集合这一块就是斯特林数,直接做即可。
T2
不考虑颜色的事,将左括号看作 \(1\),右括号为 \(-1\)。前缀和一下,最大的匹配数为 \(cnt_0+\min sum_i\)。只需要找出一些颜色的匹配使得 \(\min sum_i\) 不变即可。
对于每种颜色,直接将其内部贪心匹配。这样形成了若干个区间,每个区间都会对内部的 \(sum\) 减一。直接对这些区间右端点排序贪心选择即可,用线段树维护 \(sum\)。