P2239 [NOIP2014 普及组] 螺旋矩阵 讲解

· · 个人记录

转载:https://www.luogu.com.cn/article/ur0hlq2a

P2239 [NOIP2014 普及组] 螺旋矩阵 讲解

题目 数学题。

50 分做法:

先暴力做出这个 n\times n 的矩阵,最后直接输出。 时间复杂度为 O(n^2)n\in[1,30000],超时,考虑优化。

O(n) 做法:

我们找出了所有的 a_{i,j},但只输出了一个,浪费了大量时间。 参考以下蛇形方阵:

\begin{bmatrix}1&2&3&4&5\\16&17&18&19&6\\15&24&25&20&7\\14&23&22&21&8\\13&12&11&10&9\end{bmatrix}

直接推式子有些难推,我们分类讨论:

不是以上情况怎么办呢? 我们给矩阵缩小一下:

\begin{bmatrix}1&2&3\\8&9&4\\7&6&5\end{bmatrix}

可以看到,中间的九个元素都减少了 16,也就是 4(n-1)。 那么设这个函数为 f(n,i,j),最后一种情况为: