前言
这次比赛我考的非常的差,只拿了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”,那么我们所得到的螺旋矩阵就如下图:
然后,我们再把它分层:
分层了之后,我们只用判断输入进去的i和j是在第一层还是第二层就行了。如果是在第一层,那么移动顺序就是这样的:(如箭头所示)
如果是在第二层,那么移动顺序就是这样的:(如箭头所示)
那既然分层了,时间复杂度自然就降低了(因为分层了之后,只用考虑一层了,原来要考虑整个矩阵)。
T2:
比赛的时候,直接懵逼了。比赛后也是晕乎乎的。估计是昨晚12:00才睡觉的原因。导致今天一直打不起精神。
T3:
这题和T2一样,比赛的时候也懵逼了。
总结:这次比赛因为状态不好+实力不允许所以考的非常的差,下次一定要更加努力!加油!加油!加油!