2022.3.23模拟赛总结

博主分享了参加算法竞赛的过程,详细记录了每个题目从思考到解题的时间安排。T1题目涉及二分和二叉树,T2是计数DP,T3是博弈问题。博主尝试了贪心和暴力解法,并通过反思认识到线段树和动态规划的应用。总结了赛场策略,包括读题、深度思考、短暂休息、确定代码和收尾检查。
摘要由CSDN通过智能技术生成

时间安排

7.33-7.44
开题
T1在树上,有点像LCA的一道例题,但那是求和,这是求max,应该要结合二叉树做
T2计数dp,感觉像个状压计数,但复杂度不太对,应该有更简单的dp方法
T3min-max博弈,乱搜搜应该有分吧

8.00
写完T1 10pts

8.10
写完T2 10pts

8.12
发现T3审错题了,这不是min-max博弈

8.18
T3对于Bob的暴力不太好写,我觉得还不如直接想高分,跳了

8.26
感觉T1应该需要二分吧,但二分后如何判定呢,如果n^2建边出来,那么需要在图中找一个只经过每个点一次且能经过所有点的路径,这个该怎么找呢,这条路径显然是链

8.38-9.08

9.12
想了一个T3的贪心?(我感觉正解),topsort建边维护Alice的限制,堆维护Bob的限制
9.12-9.19
写完T3贪心
感觉可以证明,如果一个数是质数,或者说与所有数互质,那么它可以到达任何位置,假设这个数极大,那Alice不管怎么样,Bob都能使它到第一个数字上,所以对于这种数字Alice完全没有管的必要,那只需要管不互质的,如果两个不互质的数字x,y,假设x<y,那么如果我把x放到y前,y就永远不可能跨越x,字典序绝对比y放到x前更小,这个就可以直接拿topsort维护一下,不互质的数对中一定先选较小的数,剩下的就是让Bob贪心的选就好了

但话说这题我不会写暴力我该怎么对拍捏,哦!从这个做法中我也可以用来写dfs了

9.35
用同样的想法解决暴力

9.43
写完T3暴力,对拍把自己Hack了,麻了

10.12
自闭期

10.59
糊了一个T1的乱搞,random_shuffle瞎写了一下,能骗一点是一点

11.08
突然想到T2的n^2dp,写出来并对拍成功

11.20
感觉T2的dp应该上个线段树维护一下?或者上个主席树?感觉mex可以用主席树来维护一下

11.32
把暴力和错误的贪心融合了一下,并把贪心加上了random_shuffle,三题文件已打包
剩下时间可以想想T2的优化吧

赛后反思

T1 二分的感觉没错,且我考场上想到了用个线段树维护合并左右两节点的可以作为起点和终点的位置,但我不知道为什么一个本来长得就像线段树的二叉树,我非要想线段树…然后这个想法由于我不知道怎么放在线段树上实现就被我叉掉了,但其实我结合这个二叉树想是能想出来 n 2 n^2 n2的做法的,可惜没有迸发灵感,至于优化还是在结合单调性进行优化,有点势能分析的感觉?

T2原题,我觉得熟悉但我又觉得陌生(直到看到题解),但依然回忆了很久,不过感觉很好的一点是,我深刻的回忆起那天下午我盯着这个题解看了一下午,还没整明白,但今天花了一点时间就把之前搞不懂的地方也搞明白了,应该多亏了每次订题都自己磕题解吧,(但有一说一我不太想给别人讲题,因为我盯着这个题盯了几个小时,你看了几十分钟然后看不懂就摆烂去做别的事情了,等我做出来了直接来问我,我给你讲对我对你都没啥好处,感觉怪不舒服的),关于mex依然存在着势能分析的地方,不多说了

T3考场上也想到了好多了,我想的按拓扑排序建边然后堆贪心选,被我自己叉掉了就是因为我没有考虑清楚先手选择贪心的正确方向,想的有点太简单了,但后面的一步思维难度确实挺高的,就算想到了也不一定能码出来,另外这题建图上挺妙的,首先由于你暴力建边是 n 2 n^2 n2的,但我只需要维护连通性,所以可以直接把每个点和它的质因数连边,以及数太大了用个Hash来优化,都挺值得学习的

我想回家,不然天天瞌睡,自闭(呜呜呜)

策略上,这场模拟赛策略我觉得打得非常好啊,除了中间摆烂有点长,其他都挺好的,我觉得一个合理的时间应该分为五部分:
1.读题加保命,大概在8.30完成
2.深度思考每道题,对着死磕一会儿,大概在10.00完成
3.放空脑子(摆烂),因为我觉得脑子这时候已经被此时的想法全都占据了,就比如今天的T2 30分dp,我确实满脑子当时都是在想怎么计算每个区间的贡献,可摆烂完回来两分钟就想到了dp,但时间应该缩短到5分钟左右吧
4.确定代码,把每道题分配半个小时去做,把自己能写出来的都写上去,包括可想到的一切贪心,不空任何一档分,直到穷途末路,当然每道题按实际情况而言,可能都不会达到30分钟
5.收尾,检查样例能不能过,打表删了没,数组大小,打包提交

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值