[DMY]2024 NOIP 模拟赛 Day 1
前言
今天的四道题感觉做着挺顺的。
但是挂了 100pts。
赛时
看一下 T1,发现是一道一眼看不出来解法的题。
想了半天发现可以按照数字从小到大的顺序依次构造,然后基于这个可以得出一个
然后根据添加顺序和当前结构可以得出
蹲了个号子回来以后根据这个状态转移方程的两种转移情况相似而不相关可以想到对于每一个
然后结合自己的程序打表,推了一大会,我发现答案是每段的卡特兰数之和。
于是开始写,中途因为预处理边界错了一些,最后成功的调出来了。
然后我就交了,因为两种方法都能过大样例,所以为了保险起见我分了段。
赛后发现第一种方法假了,而且不知道为什么,而且赛时过了大样例,而且打表可以打出来正解,而且原题有skip导致一分没有。
写完 T1 去看 T2,直接做 Nim 可以有 30pts 的分数。
不会优化,弃了。
赛后有人通过对
T3 题意转化一下就是给你一些限制后让你求符合条件的全排列,然后这样可以拿到 10pts。
考虑菊花图的特殊性质,赛后听说其实就是康托展开。但是题目上保证了
每次直接
写完以后去看 T4,一眼有一种
写完以调不过大样例,于是开始思考算法优劣。
我是每次直接枚举该操作哪一位,取影响最大的那个元素删除。这样可以保证正确性,但是需要的变量很多,初值什么的不容易准确,以至于一直调不出来。
想了半天发现求子段和的时候只需要在当前序列中最大的子段中随便删一个就行了,不需要删除最大数,同时这种做法的正确性有保证,同时时间复杂度能优化到
然后就写了,发现挂了一次,检查发现是第一次操作的时候直接使用了原序列,改完以后过了样例,然后就走了,此时比赛正好剩下 4min.
赛后发现很多人因为负数取模的问题挂了,但是我没有,因为一个不经意的小操作:
赛后
总分 0+30+25+15=70pts,除了 T1 都是大众分。
感觉没有之前挂分时那种肠子悔青的感觉了,从发现自己挂成 0pts 到现在,我内心没有一点波动。
不知道是为什么,可能是已经看淡了名次,不再那么关心得失了。也不知道是好是坏。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】