天天看点

盛艺承2021.08.11【普及组】模拟赛C组比赛总结前言T0:T1:T2:T3:

目录

  • 前言
  • T0:
  • T1:
    • 题解
  • T2:
  • T3:

前言

这次比赛我考的非常的差,只拿了20分,70名。

T0:

这道题没有什么思路。就随便打了一个暴力。本来以为没分的,结果让我骗到了10分。

错误举例1:没开long long。

有许多的奆佬因为此题没有开long long从而痛失了很多分。毕竟俗话说得好:“十年OI一场空,不开long long见祖宗。”直接跟50分说拜拜。

错误举例2:没有进行一次计算就取模一次。

有些奆佬是一步一步计算完了以后,再一次性取模。这样就会导致一种情况:有可能你还没有到取模的阶段,你就已经超出了long long的取值范围。这就是所谓的死在半路上。

此题的正解:这一题用2个数组来存两个前缀值。一个是只有正数的,一个是有正数有负数的。然后进行运算,最后用一个for循环来求出最大值就OK了。

T1:

这道题我在比赛的时候就想到了O(4N)的算法。奈何实力不足,没有实现出来。比赛后听RZC大佬讲了一遍后,秒懂。这就是所谓的秒懂百科吗?

题解

此题的正解:这一题我用的是RZC大佬的“分层”大法。具体操作如下:

首先,我们先假设输入的样例是“4”,那么我们所得到的螺旋矩阵就如下图:

盛艺承2021.08.11【普及组】模拟赛C组比赛总结前言T0:T1:T2:T3:

然后,我们再把它分层:

分层了之后,我们只用判断输入进去的i和j是在第一层还是第二层就行了。如果是在第一层,那么移动顺序就是这样的:(如箭头所示)

盛艺承2021.08.11【普及组】模拟赛C组比赛总结前言T0:T1:T2:T3:
盛艺承2021.08.11【普及组】模拟赛C组比赛总结前言T0:T1:T2:T3:

如果是在第二层,那么移动顺序就是这样的:(如箭头所示)

盛艺承2021.08.11【普及组】模拟赛C组比赛总结前言T0:T1:T2:T3:

那既然分层了,时间复杂度自然就降低了(因为分层了之后,只用考虑一层了,原来要考虑整个矩阵)。

T2:

比赛的时候,直接懵逼了。比赛后也是晕乎乎的。估计是昨晚12:00才睡觉的原因。导致今天一直打不起精神。

T3:

这题和T2一样,比赛的时候也懵逼了。

总结:这次比赛因为状态不好+实力不允许所以考的非常的差,下次一定要更加努力!加油!加油!加油!

继续阅读