第261章 網絡預選賽開始,現場教學,在實戰中提升!

投票推薦 加入書籤 小說報錯

  兩周後。

  十月二十八號,周一。

  早上八點半,燕北大學計算中心,二樓機房。

  門口又貼了一張告示:【第41屆ACM國際大學生程序設計競賽網絡預選賽……比賽時間:9:00-14:00】

  機房裡面已經坐了三支隊伍,九個人,整整齊齊。

  這次不是校內選拔那種小場面,而是全國性的網絡預選賽。

  來自全國各大高校的幾百支隊伍,同時在線上廝殺。

  晉級名額只有六十個。

  競爭激烈程度,比校內選拔高了不止一個檔次。

  「代碼敲不隊」在最左邊,林浩然坐C位,雙手抱胸,表情嚴肅,眼神裡帶著一股「老子今天必須贏」的狠勁。

  「BUG殺手隊」在中間,趙克林推了推眼鏡,面前擺著三瓶紅牛,一副準備拼命的架勢。

  「大唐隊」在最右邊,江辰靠在椅背上,閉著眼睛,跟睡著了似的。

  唐若曦坐在他旁邊,正翻著筆記本,複習前幾天講過的知識點。

  陳小胖坐在另一邊,面前擺著一袋薯片、一包辣條、一瓶可樂,跟來野餐似的。

  林浩然回頭看了一眼,嘴角抽了抽。

  又是這個配置。

  他想起上次校內選拔賽被支配的恐懼……兩小時,十三題,滿分。

  全程江辰一個人秀,另外兩個一個當輔助一個當吉祥物。

  「這次不一樣。」

  林浩然小聲對隊友說,「網絡預選賽是全國性的,題目難度比校內賽高一個檔次。他們大一新生,基礎再紮實,也扛不住這種強度。」

  隊友點頭:「對,而且這次有五小時,拼的是耐力。江辰再強,一個人也撐不了全場。」

  「咱們只要穩住,肯定能贏。」

  兩人對視一眼,信心滿滿。

  趙克林那邊也在分析。

  「大唐隊上次贏,是因為題目偏基礎。這次網絡賽,難題占比更高,他們大一新生沒經驗,肯定卡殼。」

  他擰開一瓶紅牛,灌了一口:「咱們的機會來了。」

  九點整。

  大屏幕上,題目跳了出來。

  共十三道題,五個小時。

  其中基礎題三道,中等題四道,難題五道,壓軸題一道。

  跟上次校內選拔賽的題型分布差不多,但難度明顯高了一個檔次。

  尤其是最後那道壓軸題,題目描述就占了半屏,光看懂題干就得花不少時間。

  陳小胖湊過來看了一眼,臉都白了:「臥槽,這題目也太多了吧?光讀題就得半小時!」

  江辰沒理他,直接分配任務。

  「小胖,前三道基礎題,你先看。」

  「行!」

  「若曦,中間四道中等題,你先看。」

  「好。」

  「我負責後五道難題和壓軸。」

  兩人點頭,各自開始讀題。

  江辰沒急著看難題,而是先盯著陳小胖的屏幕。

  三道基礎題,對他來說簡單得跟1+1=2似的,但他沒打算自己做。

  這次比賽,他的目標不是拿第一,而是讓唐若曦和陳小胖在實戰中提升。

  所以前七道題,他決定讓兩人動手,他只負責在旁邊修正、優化、教學。

  說白了,就是現場手把手教。

  陳小胖盯著第一道題,看了三分鐘,眼睛亮了。

  「臥槽,這道題我會!貪心算法!排序一下,然後貪心取最優解!」

  他擼起袖子,開始在鍵盤上敲。

  「等等。」江辰叫住他。

  陳小胖手一頓:「咋了?」

  「你先說思路。」

  「思路就是……把數組排序,然後從大到小取,直到滿足條件。」

  「時間複雜度多少?」

  「O(n log n)。」

  「空間複雜度呢?」

  「O(1)。」

  「行,寫吧。」

  陳小胖開始寫代碼。

  五分鐘後,第一版寫完。

  「江神,你看行不?」

  江辰掃了一眼屏幕,三秒後開口:「第三行,變量名拼錯了。」

  陳小胖低頭一看,臉一紅:「臥槽,index寫成indxe了。」

  改過來。

  「第七行,邊界條件錯了,應該是i < n,不是i <= n。」

  「第九行,返回值類型錯了,題目要求返回long long,你返回int。」

  陳小胖一個一個改,額頭開始冒汗。

  「第十五行,這裡可以用三目運算符簡化,不用寫四行if-else。」

  「第二十行,這個循環可以合併,減少一次遍歷。」

  陳小胖越改越心虛,感覺自己寫的代碼千瘡百孔。

  改了三十分鐘,用時40分鐘,終於提交。

  屏幕上彈出綠色的Accept。

  「過了!過了!」

  陳小胖激動得差點從椅子上蹦起來。

  「淡定。」江辰說。

  「我淡定不了!這是我第一次在正式比賽里過題!」

  「那也得淡定,後面還有十二道呢。」

  「對對對,繼續繼續!」

  ……

  另一邊。

  林浩然那邊,A題提交時間:十五分鐘。

  他看了一眼排行榜,大唐隊還沒動靜,嘴角微微揚起。

  「果然,大一新生基礎不牢,A題就卡了這麼久。」

  隊友點頭:「正常,他們能做完就不錯了,別指望拿高分。」

  趙克林那邊也注意到了。

  「大唐隊A題用時四十分鐘?校內賽的時候他們A題才三十秒啊。」

  隊友分析:「可能是換策略了,讓那個胖子練手。」

  「練手?這可是網絡預選賽,拿練手當藉口?」

  趙克林搖搖頭,沒再想,繼續做題。

  第二道基礎題,排序相關的。

  陳小胖看了一眼:「這個我會!冒泡排序!」

  江辰搖頭:「冒泡排序O(n²),數據量10⁵,會超時。」

  「那用什麼?」

  「快速排序,或者直接用STL的sort。」

  「STL是啥?」

  「標準模板庫,C++自帶的。」

  「……我沒學過。」

  「那我教你。」

  又是一頓講。

  從函數對象講到疊代器,從容器講到算法。

  陳小胖聽得一愣一愣的,但居然聽懂了。

  「臥槽,原來C++這麼強大?我以前怎麼不知道?」

  「因為你沒學。」

  「……也是。」

  他敲代碼,提交。

  Accept。

  用時:四十八分鐘。

  然後第三道基礎題,簡單的動態規劃,求斐波那契數列的第n項。

  陳小胖寫了個遞歸版本。

  江辰搖頭:「遞歸太慢,用疊代。」

  他直接寫了個循環版本,O(n)時間複雜度,O(1)空間複雜度。

  提交,Accept。

  這次快了,只耗時32分鐘。

  三道基礎題,終於全部搞定,但累計耗時兩小時。

  陳小胖看了眼時間:「臥槽,兩個小時?」

  「嗯,剛好兩小時。」江辰點頭。

  「那咱們是不是太慢了?我看隔壁隊伍基礎題早在一小時內就做完了。」

  「不急,穩一點好。」

  陳小胖點點頭,雖然心裡有點慌,但江辰說不急,那就不急。

  ……

章節目錄