[DMY]2024 NOIP 模拟赛 Day 11

挂分了。

赛时

T1 看了一眼发现答案有单调性,以为是二分。

想了一会发现写不成,于是去看看特殊性质,发现度数为二的性质只需要对图分一下层,记个到达的深度就行了。

写完以后意识到正解和这个其实是一样的,只需要记录第一次到达的状态,对层数取 min 再去做即可。

交上去发现挂了,我的输出里出现了 >k 的数字,然后我直接把答案和 kmin ,然后就过样例了。

去看 T2,先把 O(nq) 的部分写了,然后去看两个性质,但是没什么思路。

先去看了 T3,直接写了个组合数枚举,然后稍微一想发现是错的,想要保证正确性的话复杂度可以达到 O(Cnk2kn)

上个厕所回来意识到 T2 的性质一的特点是区间种类数很小,所以可以 O(nk) 地预处理每个区间的答案,记录每个区间在每个端点时的答案和总答案,然后每次修改影响的区间是 k2 级的,可以分别考虑每个区间,更新其影响段的答案和对总答案造成的新贡献。想了想细节就开始写了。

调了大概 40min,造了一堆 hack 数据,然后发现我数组用混了。

改完以后就过了。

时间不多了,先去看了眼 T4,迅速写完暴力分,然后回来看 T3。

胡了个三维状态的 DP,用 dpi,j,k 分别表示加油次数,当前油量,当前所在点,然后开始写转移,枚举上一次从哪里转移过来。但是还没写完比赛就结束了。

赛后

lihe_qwq 说 T3 在一个点只会出现正好加够和加满两种情况,所以状态可以少一维,感觉很对。

回来发现 T1 挂成了 30pts,然后意识到我对 kmin 的时候忘记同时操作暴力的分段了(怎么每次都是暴力的锅

对于 T2 的话每个元素能够产生的贡献其实只和离它最近的同色元素有关,初始的时候可以分别考虑每种颜色对区间产生的贡献,修改的时候相当于区间加上等差数列,可以用树状数组+差分实现。

今天这场感觉打的有些紧张,要是时间再多一点感觉能写出来 T3 的部分分。

T3 正解的 DP 需要考虑的细节很多,但是写出来 30pts 的 DP 是不难的。

主要原因还是前面的时间打的太松弛了,以至于后面没有足够的时间来实现思路,以后要注意合理利用时间。

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