盛艺承2021.08.20【普及组】模拟赛C组比赛总结

前言:

这次比赛感觉有点难以置信。我总分不到50分,居然进了前30?估计是题目难度要大一些,所以得分都不高。

题目:

T0:

这题比赛的时候我居然没有想到正解?我果然还是太弱了。比赛后听RZC奆和LZC奆讲了以后秒AC,数学方法YYDS。

正解:

这道题用数学方法很简单。因为我们想要让病毒以最快的速度扩散,那么肯定是要让病毒先翻倍再去别的农场来得快。因为如果你先翻倍的话,就不用让一个病毒回去了,直接移动就好了。而让它但是呢,光先扩散还是没有用滴。还要让它不返回。只有不会返回了,才会在最短的时间内扩散完成(话说我们为什么要让病毒在最短的时间内扩散)。
那么,我们是不是只需要算出翻倍需要的时间,然后加上走路需要的时间就能完成了呢?
因为,需要进行2^x次方才能够超过当前的连接它的节点的数量(也就是连向当前这个节点的数量),所以我们可以用log2来轻松的算出x。但是呢,算的时候要向上取整。Why?因为如果刚好等于可不行,等于的话原来的这个节点就没有病毒奶牛“看守”了,所以要向上取整。不过呢,第一个节点的初始值要设为1。Why?因为你初始的节点需要一头病毒奶牛“看守”所以要默认为1。那么,我们是不是用一个变量来累加x就行了呢?
NO!
因为,如果你只累加x,那就大错特错了,因为,还要把走路的时间给加上。你可能要问了,我们怎么知道它走过的路是多少呢?你直接用log2求出答案了啊。很简单,最短的路程不就是n-1吗(只跑一遍)?所以我们只需要把累加的ans+=n-1就OK了。然后你就能够痛快的AC了。

应得:

6.7

实得:

6.7

当前得分:

100

状态:

已AC

T1:

比赛时懵逼,不提。打表骗了5分(汗)。

应得:

5

实得:

5

当前得分:

5

状态:

在改

T2:

比赛时想到了方法,可是在实现的时候调了半天,最后打了个表,骗了10分。

应得:

10

实得:

10

当前得分:

10;

状态:

在改

T3:

完全懵逼(话说金牌的题目是C组的水平的吗……),打了个表,骗了15分。

应得:

15

实得:

15

当前得分:

15

状态:

在改

最后:

这次比赛又惊又喜,加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值