2022.07.19 NOI模拟赛总结

1.时间安排

7:30~7:45

T1:求最小面积的矩形填充方案,n只有6可能是状压这类的,也可能是暴搜?

T2:每个点有字符串,链上查询最长子串,可以简单树剖做,但是时限只有700ms可能需要其他数据结构。

T3:求树的最短路重心,有简单 \(n^3|V|logn\) 做法,正解没什么一眼思路。

(终于盼来了良心场,哭死)

7:45~8:20

先开的T3,可以证明答案要么是整数要么分数部分是0.5,直接把边权放两倍,枚举一条路径的边权拆点即可。

构了几组小数据没问题。

然后把T1的w=1和n=2两档分类讨论分写了。

8:20~10:00

写T2的树剖,复杂度 \(10\sum|S|log^2n\) ,具体的话把点权hash后离散化,树剖查询,如果树套树的话是 \(log^3\),但是口胡了一个感觉复杂度不太对的线段树上二分,实际跑的效果接近 \(log^2\)

本来准备套lct,结构极限数据居然跑飞快,就没管。

10:00~11:50

打表T3似乎可以三分,但是直接跑是 \(n^4log\) 的不太行,就用随机化卡时了。

试着写T1的暴搜,维护轮廓线,但是细节太多而且感觉复杂度不对就没继续写完。

result:

T1:30 T2:100 T3:40

2.总结

T1:

正解真的是暴搜,而且比较降智。

放篇题解:link

还是不够耐心,如果耐心写完感觉和题解的爆搜复杂度应该是一样的。

T2:

标程居然是AC自动机加可持久线段树,重工业不想碰,而且hash做法也没什么问题,就不细究了。

T3:

三分性质确实有,J神用三分加随机贪心过了%%%但如果真的上三分据J神说复杂度不对。

正解考虑枚举每条边,钦定某个点为所有点钟最短路最长的点,那么就是要最小化 \(max(d1+x, d2+w-x)\),d1,d2分别是到两点的最短路,w是边长。

显然两式相等答案最小,这样每条边会有 \(n\) 个变化的时间点,枚举一下并判断这个最小点是否合法(即是否使得当前点是最短路最长的点)即可。

场上一直在分析三分的性质,方向错了,不过这种求最大价值转成钦定点最大后转判定的思路值得思考。

posted @ 2022-07-19 17:31  Displace  阅读(30)  评论(0)    收藏  举报