NOIP模拟赛2021/11/13

比赛时间安排

7.50-8.00
t1 一看图,觉得非常难,但是看完题之后发现暴力还是挺好写的
t2 一眼dp,两眼还是dp,想打暴力,结果看数据是个20!,一般过不了
t3 不就是个最短路吗,初步想法是跑两遍,第一遍求最短的长度,第二遍再找最小的
t4 感觉非常玄学,觉得不可写

8.00-8.40
照着我的想法把t3写了,因为是要把每个字符连接起来比大小,所以肯定不能直接加起来,要先比较长度,于是我第一遍求了最短长度,然后第二遍在长度最短的基础上求最小值,写完之后试了一下老师的样例,两个都过了,然后测试大样例。。。完全不对啊o(╥﹏╥)o,崩溃,在想是哪里有问题。突然想到因为取模,所以可能得数会变化,所以要再想一个方法,我觉得不能耗死在这一道题上,就先交了一个错的,万一能骗分呢【滑稽】

8.40-9.00
因为感觉就t1还能写了,勉勉强强地写了一个模拟的暴力算法,就是用了2e5个set,存每一行,每一列的情况,然后暴力模拟每一次转弯,我觉得能拿分吧,谁知道a了?!原来set的复杂度这么小的吗

9.00-11.00
后面的时间几乎都在写t3,首先,如何解决模数问题,我想的是当你按长度拍完之后,直接选取能连到这个点长度最短的一条边(显然是错的),于是我就开始改,然后样例还是不过。再思考有没有其他的情况,然后想到一种方法,不知道是哪个老师讲过了,可以用dij跑出来一个拓扑序,我觉得可以试一试,于是就用vector存了一下可能连到y的边,然后sort一下,每次选最小的,然后发现有一组大样例错的很少,激动,我觉得我要过了。然后再思考哪里有问题呢,突然想到,会有1111比999更优的情况啊,那还得把每个数都数位划分一下再比?!太麻烦了吧,我又不行了。。

11.00-11.22
为了缓解这种焦虑,我去写t2的暴力了。首先我想,能不能把m相同的人分到一组,边枚举边计算,这样的复杂度必然特别低,20绝对能过,我尝试了一下,发现它挂了,还de不动,没办法,脑子很乱,只能写普通暴力了,就很快写完交上去了

11.22-11.30
我去看了一下t4,发现有一些思路,每次都去中间的点连边,然后以此类推,和线段树的结构很像,好像可以暴力模拟一下。。。吗?我写了5分钟,发现情况非常难判,就放弃了,不如把t3的40订出来

11.30-12.00
考虑到这种情况,有一个地方要改,就是计算长度的时候,不能每次+1,应该加上这个数字的长度,改了之后,比较大小那里也需要一点一点比,我放弃了,拿w<=9我觉得够了,于是就没管那个,开始debug,然后。。。。就到点了,还是没找出来,心态炸了,随便交了个改完但是大样例一组没过的代码(竟然骗了10分!!)

12.00-12.05
t4写了个输出-1哈哈哈哈

赛后总结反思

  1. t2,t4的暴力都不会写,现在暴力也要脑子了吗o(╥﹏╥)o
  2. t3很明显,模数影响大小,需要把结果完整存下来,那么就要高精,但是没想到,这种连贯的思维应该想到,但是。。不是说好的不会考高精吗o(╥﹏╥)o
  3. 时间分配上有大问题,很多次都是这样,在一道题里面陷进去很久,但是每次又还会陷进去,就很矛盾,这个需要每次考试再提醒一下,千万不要把3个小时都花在一道题上(写出来也行啊!可是每次都写不出来),除非其他分数一点都没思路了

与正解差距

t2

又是一个贪心,这个思路其实在写暴力的时候想到过一下下,但是我是直接去正着模拟,收买一个人就看还能白嫖那些,一直循,最后挂了,正解很好的用了正难则反的思想!!直接假设当前面的全支持自己了,那剩下的要买多少人

t3

没有想到把一个边权拆成点,这样次的边权都是1位数了,类似高精的想法。
队列里套vector的想法也没想到,很巧妙,把距离相同的点放到一起,就避免更新错误

t4

题解中贪心的思想在考场上都想到了,不过我想的是如何模拟暴力,但是题解想的是正解。他的循环非常巧妙,循环的是点的深度,记录的是每个深度上的节点个数,又因为深度一定单调不降,所以可以用差分来写,绝妙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值