[DMY]2024 CSP-S 模拟赛 Day 18
今天打的虽然有遗憾,但是也在情理之中。
赛时
看了眼 T1,没有别人的犹豫,第一眼就看到了
算了一下 dijkstra 根本跑不满,无需 deque 的 01bfs。
写完以后大概 40min,改一下 longlong 就扔了。
赛后没挂,100pts。
T2 一开始没有思路,在纸上画画图感觉可以线段树搞。但是区间数字种类数我只会莫队,再考虑到动态开点什么的,没有继续下去这个思路。
考虑贪心。之前做过一道类似的题,赛后 liang 大佬说是游荡的奶牛。当时这道题是要让最多的线段不交,模仿类似的方法,我们可以先把
这样排序过后可以把 set
里面。每次贪心的选择当前候选答案中最大的右端点作为答案。
对于无解的情况,就是候选答案为空或者候选答案不符合条件,特判即可。
没有挂分,拿下2血。
T3 想了挺久的,最开始忽略最后一个基环树结构的限制,跑一个纯正的 DP,但是加上最终限制的时候无法直接处理。
思考最终的答案肯定是当前的 DP 值减去这个限制给予的答案,那我只需要找到这个贡献即可。
这个比较好实现,我们把 DP 数组改成三维,新的维度表示第一层选择的元素编号为
这样可以先预处理前两层的 DP 值,剩下的按照方程:
转移就行了。
写完以后算了算可以有 30pts。
此时时间剩的不多,T4 按照题意直接 DP 可以有 10pts,我看
写完正常 DP 以后发现错了,检查发现没有赋初值。
意识到之后过了样例。发现刚才的性质发现就是一个线段树。
时间还剩 10min,发现这个性质好像可以用树状数组代替线段树从而节省时间,写完以后才意识到树状数组无法维护,导致丢了20pts。
赛后
最终得分 100+100+30+10=240,没有挂分,但是也没有写到能写的分数。
CSP-S下周就考了,所以基础代码能力还需要沉淀。
赛后试了试 10min 能不能写一颗线段树,发现不能。
现在思维方面不算太差,但是容易想偏导致该写的分数没写上去,就比如这次 T4 的初值和线段树部分。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探