NOIP2024 模拟赛 #12

学长出的模拟赛,风格挺好。

赛时

8:00 T1 会了一个 O(n2logn) 的做法,先写一下,看看能不能过样例。

8:20 过了小样例,大样例跑得慢但是是对的。

8:40 发现一个好的做法,可以枚举 ci 最小的那一天选了哪个,再枚举 k 天,这样纯枚举复杂度是 O(k) 的。但是有些细节不太好处理。

现在转化成了一个经典问题,很多次遇到了,但我还是不会。

欸,好像会了。时间复杂度 O(klogn)。贪心不好写,枚举解决!

9:05 ok,大样例全过了。最慢的点 0.4 s。

T2 怎么还有 SPJ,这么神秘。下发了 checker 但是不知道怎么用。

9:35 T3 会了 O(mn) 的爆搜,有了 15 pts。

完了,不会 2n 做法。

T4 一次旅行不可能经过很多的点,这样很浪费。也不可能经过一个点,

T4 直接模拟旅行不太可做,可以将题意转化为分成若干个连通块,而这是树,转化为哪些条边需要断掉。这样可以 2n1 枚举,计算每个连通块的贡献。

也许可以树形 DP,设 dpi 为断掉与父亲的边时 i 子树内的答案,但是我不会转移,唐完了。

10:25 T4 的 10 pts 写完了。

一次旅行经过的点数不可能大于 3,也就是每个连通块的大小小于等于 3,也不可能是 1

欸,结论假了,寄。

10 1 1 1 11 这样,5 个数全选上是最优的。

10:55 把链 O(n2) 的性质写了。

11:30 T2 通过找大样例规律拿了输出方案数的 20 pts。

又写了 n=1 的分。

想冲一下 n,m4,打算手玩。

玩得我头晕了,还有两种情况没写,不写了。

寄。

估分:100+28+15+20=163

得分:100+28+15+20=163,rank 2。

赛后

T1 怎么除了我 A 掉的做法都是一样的啊,我就这么独特(。

T2 可以手玩一下发现一下消除 3 行或 3 列,感觉如果不考虑证明该做法最优还是简单的,但是细节肯定不少。

T3 容斥 + DP,赛时没写出 O(n4) 的做法,亏大了。

T4 树形 DP,朴素 O(n3)。然后 O(nlognlogV) 的做法是一个 dsu on tree 加权值线段树,挺对的。

O(nlogV) 的做法是线段树合并优化 DP,很可订正。

感觉把状态列出来,再加上朴素转移,很困难。之后还是比较简单的。

总结

要多玩样例,找找规律,发掘性质,多拿性质分,从性质中推出正解。

对于数学还是要加强。

posted @   zhujiangyuan  阅读(38)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示