天天看點

盛藝承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一樣,比賽的時候也懵逼了。

總結:這次比賽因為狀态不好+實力不允許是以考的非常的差,下次一定要更加努力!加油!加油!加油!

繼續閱讀