CSP 2021 naive 记

2021/10/23 23:42:21

本文主要是介绍CSP 2021 naive 记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一场 CSP naive 三道题 /kk。

Day -1

滑水。

Day 0

划水。

划到一半得知 HN CSP 取消了 /jk ,然后很失望。

下午事情发生转机,公告被删了,果然,晚上发布恢复通知,大反转

然后对 CCF 好感 加了 114514 倍,恢复了做题的信心。

晚上继续划水,大了几个板子,然后随便做水题。

Day 1

上午划水 + 做水题,挺快乐的。

下午正式考试,1 :50 已经到了考场,然后发现监考老师也没有钥匙,一起被堵在门外。

然后钥匙来了,进了门,发现里面还有监考,十分诡异,居然是里面的监考老师不知道换了考场然后把门关了?

后来快 2:20 的时候拿到了解压密码,开始看题。

T1 一开,哇,水题,T2, 哇,有点板,不是直接序列 DP 然后随便设个状态就行了吗?

然后 2:30 开始敲代码,T1 直接 naive 了,直接按照廊桥无限来算一下每个飞机前面有几个廊桥被占,前缀和之后统计以下就行了,然后 Wa on test 1。

之后发现 naive 了,因为有些是可以不占空间的,然后就想出了一个神奇做法:

考虑维护廊桥数为 \(i\) 时的答案以及当前剩下来的廊桥数量,对于每个飞机找到其最先的有廊桥的位置,之后就是答案的后缀加,对于答案的处理直接差分+前缀和就行了,而对于剩下的廊桥,仍然考虑差分,就是把差分数组最前面一个 \(1\) 变成 \(0\) 就行了,直接用堆维护即可。

然后在开考 40 分钟后 开始对拍,一直拍到下考也没有问题。

接下来开 T2, 直接序列 DP,本来以为会像去年一样轻松通过,结果再次 Wa on test 1 /kk。

盯了一会儿没有发现问题,然后写了个阶乘的暴力去验证,结果发现 (SAS) 是不合法的。

然后一阵自闭,最后发现 \(n \le 500\),这不就是区间 DP 经典问题吗,开几个 DP 数组,按照题目定义去转移,结果 Wa test 2。

又是一阵自闭,甚至输出了 DP 方程组,结果还是没有找出问题,自闭间,灵机一动,我要钦定 \(l\) 的配对!然后直接过了大样例。

接着开了 T3,想了一段时间发现会 \(\mathcal{O} (n^2)\) 的了,枚举分段情况,然后讨论一下,之后就过了大样例,但是没有发现分段情况很少,可以在外面判掉,于是只有 \(60\) 分了。

我又 naive 了。

T4 随便写写,压根没去想网络流,只有 \(10\) 分滚粗了。

期望得分 \(100 + 100 + 60 + 10 = 270\) ,希望不挂。

晚上冥间数据前三题得分 \(100 + 100 + 60 + ? = 260 + ?\),大体分保住了/cy。

upd on 10.23 : 晚上在 infOJ 上测加入结论的 T3, 直接 88 分,应该是评测机问题,等洛谷出来之后再交



这篇关于CSP 2021 naive 记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程