NOIP2022 做题笔记

由于本人NOIP2023做的太烂了,被教练拉去做NOIP2022了qwq
first hour:这t1看上去还行,先写了
second hour:t2看上去有些难度,让我想一想
third hour:快想出来了,先写一写吧
fourth hour:写写写写写.....
最后100pts遗憾离场......
赛后有了深刻的认识,很多题是不能一步到位的,只能拼暴力。

P8865 [NOIP2022] 种花

预处理+前缀和即可。
本人代码自带大常数,写的非常史。

P8866 [NOIP2022] 喵了个喵

较难的思维好题。
\(k=2\times n-2\) 的情况是送的。
\(k=2\times n-1\) 的情况考虑离线,对于多出来的数分类讨论。
具体可以看这篇题解,讲的非常牛逼。
另外就是这题细节及其多,要维护的东西及其多,再加上万恶的spj,更加深其史的程度。

P8867 [NOIP2022] 建造军营

tarjan缩点+树形dp。
dp的初始化形如这样:

\[dp_{u,0}=2^{E_u} \qquad\qquad\,\\ dp_{u,1}=2^{E_u+V_u}-2^{E_u} \]

其中 \(E_u\) 为该边双连通分量的边数,\(V_u\) 为点数,\(dp_{u,0/1}\) 为对于每个连通分量,选或不选城市建造军营。
dp式形如这样:

\[dp_{u,1}=dp_{u,0}\times dp_{v,1}+dp_{u,1}\times(dp_{v,0}\times 2+dp_{v,1}\\ \, dp_{u,0}=dp_{u,0}\times dp_{v,0}\qquad\qquad\qquad\qquad\qquad\qquad \]

最后统计答案的时候,若 \(u\) 为根,则 \(ans=ans+dp_{u,1}\);若 \(u\) 不为根,则 \(ans=ans+dp_{u,1}\times 2^{s_{root}-s_u-1}\),其中 \(s_u\) 为以 \(u\) 为根的子树中边(缩点前的边)的数量。

P8868 [NOIP2022] 比赛

极好的线段树高难度题。
考虑把询问挂线段树上,每次区间合并的时候,对于 \(a\)\(b\) 的最大值在左边还是右边分类讨论,然后大力合并。
合并时对于答案也要开两个线段树查,所以代码巨大难写,巨大难调。

posted @   nagato__yuki  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示