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\) 个变化的时间点,枚举一下并判断这个最小点是否合法(即是否使得当前点是最短路最长的点)即可。
场上一直在分析三分的性质,方向错了,不过这种求最大价值转成钦定点最大后转判定的思路值得思考。

浙公网安备 33010602011771号