• SCOI2022 过山车记


    day -inf~day 0

    每天打模拟赛+大模板。模拟赛发挥挺稳,虽然很多时候想不出来题,但很少有挂分,感觉状态良好(flag)。

    考试前一天巨大多紧张,但在把自己博客里记录的题看完了之后好像不太慌了。

    day 1

    打开 \(pdf\),一看到T1就是大模拟,大受震撼。读懂题花了一些时间,感觉直接模拟就行了。看T2感觉是套路题,大概想到了分段按照每个点的 \(l,r\) 对所选最小值/最大值分段,对每一段分别DP,只是不知道具体怎么 \(dp\)。T3看着也挺想模拟,但是完全没有思路。

    开写T1,仔细认真(至少自己场上是这么认为的)敲完代码,很快过了样例,感觉样例巨大多水,自己造了一些“强力”数据,但“强力”的方向是巨大多递归以及 \(define\) 后取消又 \(define\)\(define\) 的都是随便选的字母(flag)。

    对于T2,一开始想了一个枚举最大值后 \(\mathcal O(n^2)\) \(dp\) ,然后套用一开始的想法,将最大值划分为 \(\mathcal O(n)\) 段。每段内部每个点的权值都是不变/加等差数列/减等差数列,一开始对着式子硬化半天化出来一个对第一问的自然数幂和。通过自然数幂和想到拉插,然后猛然发现可以一开始直接拉插,一下子有了一个 \(\mathcal O(n^4)\) 的做法,换根 \(DP\) 就能优化到 \(\mathcal O(n^3)\) 了。

    一顿狂写写到了 \(11:00\),因为在第三个大样例上调了一会,于是以为第三个样例非常强力?自己造了几组数据测了下速,还和暴力对比了一下,但其实造的数据为了保证暴力能跑 \(n\) 很大值域很小(flag),于是对程序的正确性检测效果较差,但是自我感觉良好,就去看 T3 了。

    看T3 感觉只会 \(8\) 分暴力,写这个 \(8\) 分暴力写了巨大多久,接下来只会退火乱搞。乱搞效果非常不好,我认为应该先写一个贪心,从贪心结果出发退火,于是想到了直接将前后相连能带来收益的点之间连边跑最大匹配,但最后构造可能成环而不优。没想到写完之后答案直接过了大样例 \(3,4\),然后理性分析了一波,利用题目中的每个人都有一条学术信息的性质在满足性质 \(C\) 的点这应该就是正解了,只需要用每条学术信息去拆环就行了,我的拆环方法是暴力跑最大匹配,但写这个最大匹配一直写到考试快结束也没有成功,反而没有留出时间来检查前面的题了。

    出考场得知大家 T3 好像还没有我高,感觉考的还行?下午压力没那么大了,于是自信的去看群里讨论,现在想来,大考的 \(Day\ 1\) 下午不应该用来关心已经结束的东西,而是要专心总结,准备明天才对。我得知T1好像暴力复杂度/判空串有问题,争论了许久,洛谷出民间数据之后,就自己复现了一发交了上去,复杂度倒是没问题,但是:

    晴 天 霹 雳。

    我仔细回想考试的过程,却始终回想不起我写没写过那句 c>='0'&&c<='9' 。这一天接下来的时光都在浑浑噩噩中度过,但我冷静思考了一下即使这道题挂成 \(20\) 分,今天也还有 \(160+\),明天还有机会,并且我究竟写没写这句话还是个未知数呢,我反复的叮嘱自己,让我在当天晚上沉住了气,现在想来这或许是我做的最正确的一件事了。

    day 2

    放下来对过去的思考,心情轻松地进入考场。先看了样例发现所有样例都是 \(1KB\),感觉有点不妙。

    先看了三道题,感觉全是神秘 \(DP\),且T3看起来是防得(非暴力)分题。

    由于不久前见过这个套路,我很快想到了T1可以根号分治,对小质数状压,大质数分组后 \(FWT\) 乘起来,算出了复杂度大概是 \(2^{13}\times 18000\),感觉跑不过,但完全不会优化。就先写了一个发现跑得很挺快。由于昨天的教训,我专门写了对拍,但是对拍中生成质数的方式是:对 每 个 质 数 随 机 是 否 在 当 前 询 问 中 ,很快就拍上了,拍的过程中T2下发了一组大样例。

    接下来写了个T3的 \(12\) 分,感觉再写下去没啥前途,就去搞T2了。这时候发现T2的小样例极为逆天,大样例也十分特殊。于是我针对大样例想了若干种贪心,最后发现用最小值和第二小匹配 \(n-2\) 轮,第三小匹配 \(n-3\)\(\dots\) 即可。但好像不太能扩展。于是写了个暴力开始打表,但是暴力跑得巨慢只能跑 \(n\le 6\)。草稿纸上花了一大堆括号(复刻 WC T1),想了一大堆假贪心,终于想到建立括号树,第 \(i\) 轮相当于在前 \(i\) 层中括号依次匹配,最后留一个括号在最外层消灭。于是引出了 \(y=1\) 时的贪心方法,\(y=0,x=1\) 时只能暴力枚举一个括号保留,再加上暴力模拟整个过程获得了 \(\mathcal O(n^3)\),啥也过不去的好成绩!

    离考试还有 \(30\min\) ,我又仔细检查了前两题,终于发现可以用 \(set\) 来实现优化,一通飚手速后终于写完过了几个自己造的小样例,又检查了一下文件比赛就结束了。

    出考场时感觉很小,一打开谷群就发现D2T1要判重复质数,感觉凉了。但看到谷群的大佬分析了一通,认为这个题既然大样例都没有重复质数,最终数据大概率也没有,强行稳定了信心。

    下午小图灵出了 \(Day\ 1\) 前两题的得分:\(20+20\),我当场裂开。D1T1果然是没判数字的问题,D1T2强忍着心情检查了一个下午,终于发现我拉格朗日插值没有改变每个 \(x\) 对应的 \(y\),但询问的 \(x\) 却加了 \(1\),加了个 x-- 就对了!顿时感觉退役定了,当晚心很慌,一直睡不着觉。

    day 3

    在反复责怪自己以及经历了家长/老师的心理教育后,我深刻理解到了自身的不足,汲取了教训,可惜已经没有挽救的机会了,准备被这些经验投入高考中。已经完全进入了退役状态,开始看网课。

    day 4

    上午下午继续看网课,晚上突然得知 \(CCF\) 发数据了,一看数据,D2T1果然与我预料的一样,没有重复质数。但更加惊喜的是,D1T1的数据没有 \(define\) 任何一个数字。当然也不全是好消息,例如D2T2最后时刻将 \(vector\) 改为 \(set\) 时有一个特判中的变量名有错,\(x=1,y=0\) 的点全 \(RE\) 了,挂成了 \(32\) 分。最后总分 \(100+20+44+100+32+12=308\),起死回生了属于是。

  • 相关阅读:
    linux异常文件下载
    spring boot项目发布到tomcat端口问题
    jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units
    Job for jenkins.service failed because the control process exited with error code
    安装配置jenkins rpm方式
    Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed w
    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environ
    Cannot find class: org.mybatis.caches.ehcache.LoggingEhcache
    java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
    Error:(12, 8) java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件
  • 原文地址:https://www.cnblogs.com/tqxboomzero/p/16167905.html
Copyright © 2020-2023  润新知