NOIP 2020 游记

Day -4

上午开题发现一道都不会,跑路了,下午啥都没干,题目一道都改不来,感觉要完蛋了

Day -2

上午开题发现一道都不会,跑路了,下午啥都没干,题目一道都改不来,感觉要完蛋了

Day -1

做了一道 NOIP 2018 填数游戏
又写了个 NOIP 2018 保卫国王,叕叒双又挂分了
晚上在空间开了个 ldx buff /se

Day 1

看压缩包发现有字符串,之前更同学们说不考字符串感觉很愧疚,谢罪谢罪
开题发现 A 是拓扑排序题,用 u l l ull ull 写了一发
然后看 B 发现大概是个 kmp + 数点,编了个调和级数的做法
看 C 发现是个有点困难的构造,D 还没敢看
然后又想了下 A,发现分母大概是 6 0 11 60^{11} 6011 刚好比 2 64 2^{64} 264 大一倍
所以我又贴了个高精度,感觉有毒
然后写了发 B,用树状数组写成了 n log ⁡ n log ⁡ Σ n\log n\log \Sigma nlognlogΣ,感觉有 84 84 84 就放了一下
然后看 C,编了一个 2 n 2 m 2n^2m 2n2m 的做法,发现可以获得 0 0 0 分的好成绩
好久才反应过来他把范围放成样例了
然后优化了一下,编了个 n 2 m n^2m n2m 的做法,大概如下:
考虑一个颜色一个颜色归位
重新染色,将当前颜色设为黑,其余为白
现在我们可以将所有黑色放在堆顶,这样就只需要 m m m 次就可以归为
考虑如何换到堆顶,对于 a , b , c a,b,c a,b,c 三个堆,其中 c c c 为空
我们统计出 a a a 中黑色的个数 z z z,将 b b b 中挪 z z z 个到 c c c,然后将 a a a 依次放在两边最后在放回去
这样大概需要 2 z + 2 m 2z+2m 2z+2m 次操作
考虑继续优化,上面的坏处是需要把 z z z 个放回去,但其实是不用的
我们按 z z z 排序做小到大做,这样就是 2 m 2m 2m 次,所以总共是 n 2 m n^2m n2m
然后写了一发
看 D,发现有模数,感觉 ldx 稳了 感觉要给 ldx 丢脸了
想了一会儿发现每维独立,一个坐标的次数是所有的 min ⁡ \min min
所以只需要对没个 min ⁡ \min min 统计贡献
这个用指针扫就可以了,复杂度大概是 O ( k 2 W + k W log ⁡ W ) \mathcal{O}(k^2W+kW\log W) O(k2W+kWlogW)
发现大样例跑了很久,呆了一会儿才发现排序可以两边归并,于是就是 O ( k 2 W ) \mathcal{O}(k^2W) O(k2W)
这时大概都 12 点了,于是把剩下的 20 弃了,准备 work 一下 C 的 30 分
被降智了很久最后 15 分钟才想出来 /kk,大概如下:
上面做法的缺陷是拿出来 m m m 次放回去 m m m
注意到是不需要放回去的
在这里插入图片描述
阴影部分表示可能有黑色的,圈圈是黑色的点
进过上面几次操作过后我们可以整出个全白的,用类似的思路进行操作
设有 a , b , c , d a,b,c,d a,b,c,d 四个堆,其中 d d d 是空, c c c 是全白
我们统计 b b b 的个数 z z z,将 c c c 中的 z z z 个挪到 d d d
然后将 b b b 中的黑色挪到 c c c,将白色挪到 d d d
这样就可以将一个堆排好序
观察操作次数,大概是 z + m z+m z+m,所以总次数是 O ( n 2 m 2 ) \mathcal{O}(\frac {n^2m}2) O(2n2m)
最后两堆用上面说的方法做就可以了
由于时间不够了,而且教练含我检查文件名CSP 我写的 snake 所以只有弃了
同时看了下 B,发现可以优化一下变成 n log ⁡ n + n Σ n\log n+n\Sigma nlogn+nΣ 然后改了一发

下午同学们帮我测了一下
发现 A 高精度卡 T 成 60 了,还没有暴力分高,我退役好了
B 卡 T 成 84,D 卡 T 成 60 感觉有毒 /yun
希望最后能多过点 & ldx 这 buff 咋这么强 /se
啥时候才能像 cxr 聚聚一样稳稳啊

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FSYo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值