2022/7/13考试总结

博主分享了参加算法竞赛的时间安排和解题经验。在T1中,未能发现关键性质,提醒遇到计数题不要急于用DP。T2因未能看出题目性质而陷入细节。T3通过优化代码,体会到了inline的重要性。总结强调了理解题目性质、合理分配时间以及注意代码效率对比赛的影响。
摘要由CSDN通过智能技术生成

时间安排

8:00~8:20

手玩了一会T3,发现了一个结论,写了个暴力验证结论的正确性。
然后考虑优化

8:20~9:00

一开始想用主席树求,后来发现这东西不能二分,然后就去想根号做法,莫队加线段树可以轻松维护,觉得 n n l o g n n\sqrt nlogn nn logn应该能跑过 6 e 4 6e4 6e4,就开始写,写完就交了

9:00~9:20

写了T1的爆搜,推了一会没有发现什么性质,感觉是什么神奇的dp套dp,就放弃了去看T2

9:20~9:40

先写了个n=1的情况,然后n=2的情况在三分和二分之间纠结了半天,最后觉得三分更保险就写了三分

10:00~11:20

首先可以通过贪心把n>m的情况盘掉,那么复杂度就之和m有关了,首先想到一个 O ( m 7 ) O(m^7) O(m7)的dp,可以通过二分做到 O ( n 5 l o g n ) O(n^5logn) O(n5logn),转移是一个卷积,可以 f f t fft fft,做到 O ( n 4 l o g 2 n ) O(n^4log^2n) O(n4log2n)考虑到常数过大,因此估计不能过。
然后就开始想贪心,直觉感觉直接做就是对的,但是跑出来的答案大了,然后又想通过模拟退火逼近答案,发现根本没办法,最后就放弃了。

11:20~11:40

测了一下T3,发现要跑4s,感觉要完,试着卡了卡常数,但是没有任何作用。

订题总结

T1

万万没想到,以为是一道dp题,结果是通过一些性质枚举,然后用数学计算合法的个数。
考场上留给这道题的时间太少了,根本没发现性质。不过也算有一个教训,就是见到计数题,不一定就是dp,可以先想一下组合/数学,或者合法的状态可能很少。

T2

首先题目的性质就没有看出来,然后就是一堆一堆的细节和分类讨论,感觉就算知道思路在考场上也写不出来。
推性质的能力还是不行。

T3

这个题给我一个很好的教训,以后所有的函数都要加inline
加了inline就有50分,不加就被卡常了。
75分的做法并没有在50分的做法的基础上拓展,而是之间在原题的模型上用数据结构维护,不过感觉设计这样一档与正解和题目性质,结论都完全没有关系的部分分挺奇怪的,很容易导错方向。
正解其实就是一堆套路结合了起来,首先可以倒叙扫面线维护所有的区间,然后观察到任意时刻合法的区间一定不包含,所以可以用线段树维护所有的区间,用线段树二分暴力找出所有合法的区间,因为每个区间被找到之后就会从线段树中删掉,因此复杂度是对的,也通过这道题知道了怎么在1个log内找出所有包含关系的区间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值