2022.05.18NOI模拟赛总结

(第一次校内IOI赛制的比赛,流泪小企鹅.gif)

1.时间安排

7:00~7:20 看题面

T1:树上统计,很有点分治的味道,有15分模拟和35分的链可以写。

T2:DP题,可能需要处理环上问题,n=2000有40分。

T3:一眼费用流,不过n=1000可能跑不动,要用些优化建图的trick。

T4:应该是FWT这类的,感觉不是很好做,有30分预处理。

7:20~8:00

链上分类讨论有亿点麻烦,用了个单调栈加上一堆计算,不过还是写出来了。

8:00~10:30

光速写完暴力费用流,果然只有80分,1000的数据T飞了。

一开始觉得没法优化(因为有绝对值),后来一想可以分类讨论,于是把每个点拆成4个,分正负两路最后合并,分后面大于前面和小于前面两类用两棵主席树建图,理论复杂度应该是能过的,但是交上去还是80分。

加上了各种优化,包括SLF,炸点等等一堆奇怪的东西,还是跑不动,开始怀疑不是常数的问题。

一想,似乎不需要拆4层,只需要三层,第一层点向第二层连2倍边权,第二层向第三层连负权,同时走一条路,就能省一层点,然而还是过不去。

战术放弃,看T2。

10:30~11:30

先发现一个结论:一个方案总存在一种方法使得两两差值的绝对值之和最小,即把最大和最小相邻放,剩下的按升/降序依次摆放,这时这个方案达到最大价值。

于是就可以只枚举最大值和最小值,然后找C值在他们之间的V值前m-2大数之和即可。

因为没考虑答案会是负数,ans初值设成了0,调了半个多小时,后来主席树写挂又被迫改成堆,不过40分还是过了。

11:30~12:00 吃饭

12:00~12:30

赶紧把T4的预处理30分写了,很顺利。之后不想思考T4的50分,继续改T3,仍然过不掉……

result:

T1:50 T2:40 T3:80(赛后在loj开O2AC了……) T4:30

(待UPD)

posted @ 2022-05-18 15:20  Displace  阅读(105)  评论(0)    收藏  举报