NOIP2021 游记

不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分释迦牟尼脚绽莲花菩提达摩你真伟大天上天下唯我独尊如来佛祖太上老君耶稣耶稣快显灵!宣传下周二的 nflspc#4,快来报名!!!!!!

JS-0014 座位号 406-22。

赛前

Day 0 一整天补了点在 NOIp 必不可能用到的字符串数据结构,学了一下多项式 ln 涨点信心。下午和学长 jgh 乒乓球大战三百回合(大雾。

为了放松心态,临睡前在洛谷上魔怔了一钵!杨敏兴,汤卷王!

早上为了不浪费时间闲聊等入场,来得比较晚。

赛时

8:26 的时候电脑死机了 /流汗黄豆,重启一下,啪,打的缺省源全没了。上个洗手间洗了把脸冷静了一下,重新打一遍缺省源,顺便读了一下题目,发现 T3 这个操作就是重排差分数组,感觉很好做的样子。

开 T1。一看数据范围,哟这不是 sb 题么。考虑到含有 7 的数很少所以直接调和级数筛就完事了。检查了一下 107 的答案是 107+1,好,一钵过了大样例,很舒服啊,很舒服。

开 T2。一看数据范围,哟 n,m 这么小状压 / 很多很多维 DP 没跑了,为了符合 1 的个数的限制直接从小往大加数,溢出的部分只有 O(n) 好吧。设 fi,j,k,l 表示前 i 位选了 j 个溢出大小为 ki11 的个数为 l,组合数作系数直接 n4m DP 就完了。写完我直接我直接 F11 直接过了两个样例,测了极限数据只要 50ms 不到,这叫一个爽!

大概 9:15 开 T3 发现数据范围不大,感觉不像贪心就往 DP 上面想,想啊想啊想了半个小时也没啥眉目。一开始推出来柿子是 (ni=1nai2)(i=1nai)2 就没有后续了。。。。。

9:45 的时候灵机一动感觉差分数组 di 有性质,猜一个单谷,打了发 n20 的暴力发现能过大样例,这就好做了!直接枚举这个差分值放到左边还是右边,发现要记 ai 和放到左边的 di 之和才能转移,算一下发现是 (nV)2 直接凉凉。。。不管了先写出来,写到 10:15 一发过了样例 3,舒适!考虑优化,注意到不关心 ai 具体值,所以钦定差分数组最小值对应的原序列权值为 0,那么所有等于 0 的差分值没有用,直接 min2(n,V)V2 84 分就很舒服。

尝试卡卡常数:ai 必定不会很大(正负抵消),如果很大必然不优。减小第二维大小直到可接受范围内 …… 测了一发样例 4 大概要 2s 的样子,那就再卡卡,卡到六七百毫秒测了一下极限数据 ai=1.5i 要 2.5s!还要开 long long(实际上 unsigned int 感觉就够了)难受难受,正确性也不能保证,先扔了看 T4 到时候再来卡。此时 10:40。

T4 读起来就很模拟,读完一脸不可做的样子,先尝试把 32 分暴力写掉(发现难写之后果断先打了 T3 对拍,因为 T3 最有可能挂掉,一边花巨大多时间写 T4 一边对拍岂不美哉)。中间写挂了几次调了不少时间,细节就很多好吧,这个出题人也够极品的,把题目的处理搞这么麻烦。11:50。

然后看部分分发现除了 911 其它都要离线处理(也想了不少时间),估了一下得写上至少 4/5k 而且极其容易写挂就弃掉了,911 甚至也不算好写(要维护一车 set)还要时刻注意多测清空数组,数组还是不定长的就离谱,得用 vector 存,还不给 911 的样例,出题人我 tm 真谢谢你。写了个对拍发现挂了又调了一会,大概 12:30 给拍上了,舒了口气。转战 T3。

想了下第一维只要开到 V2 就行了(根据对称性),这样一来常数还能砍半,东搞搞西弄弄折腾到 12:45 调了一个合适的第二维大小 300×12 既能增大正确率(不知道这玩意是不是对的)还充分利用了时间。这个时候大样例 4 只要 0.2s 不到!极限数据大概 0.7s 不是很稳,不过也就这样吧。最后检查了一下四题程序能不能过所有应当通过的大样例,就干瞪着 T4 剩下来的部分分心里默念出题人 nmsl。

12:56 的时候发现 T3 数组会越界(因为第一维 j 只开了一半,要判 j 加上差分值不超过第一维大小)!紧急修锅,最后一分钟修完。

赛后

签字确认很快,hopping。出来交流了一下大家都在 300 分段左右,tzc 没想到 T3 最后一档部分分只有 50 个差分值有用比我少了 12 分,可还行,ycx 是猜了一个不知道对不对的结论。ymx T3 退火 T4 没写出来,orz 会 T4 的神仙(“容斥,然后就是【奇奇怪怪的拟声词】的二维数点”)。学长 syr 写的也是退火(没想到单谷性质)。

然后 NOIP 就结束了。估分 100+100+[84,100]+44=[328,344],算是正常水平。Upd:Infty OJ T3 能拿满 100。Upd:T4 初始化搞错 RE 挂了 911,很难受啊,很难受。

两个月没学文化课,下周末要期中补考就 nm 离谱 /狂笑。接下来要学俩星期文化课!新生活,开始力!

不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分不要挂分释迦牟尼脚绽莲花菩提达摩你真伟大天上天下唯我独尊如来佛祖太上老君耶稣耶稣快显灵!

另外宣传下周二的 nflspc#4,快来报名!!!!!!111111111111

posted @   qAlex_Weiq  阅读(2800)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示