第262章 江辰親自上場,六道題半小時,實現絕地反殺!
三道基礎題結束。
接下來,是四道中等題,難度更高。
陳小胖長舒一口氣:「累死我了,感覺腦子要炸了。」
唐若曦看了他一眼:「你才寫了三道題,就累了?」
「我那是動腦!動腦比動手累多了!」
「那你先休息會兒,接下來四道中等題我來。」
陳小胖如釋重負,往嘴裡塞了片薯片,靠在椅背上,開始當觀眾。
唐若曦盯著屏幕,D題。
圖論,最短路徑。
「Dijkstra算法。」
她想了想,開始寫代碼。
十五分鐘,寫完。
江辰看了一眼:「思路對,但可以用優先隊列優化,複雜度從O(n²)降到O(mlogn)。」
他接過鍵盤,改了幾行。
提交,Accept。
第二道中等題,字符串匹配,KMP算法。
唐若曦寫了三十分鐘,磕磕絆絆寫完了。
江辰看了一眼:「next數組求對了,但匹配邏輯有個小bug。這裡應該用while循環,不是if。」
他改了一行代碼。
提交,Accept。
第三道中等題,線段樹,區間求和。
唐若曦寫了半小時,寫完。
江辰看了一眼:「區間更新的lazy標記寫錯了,應該先更新子節點再更新父節點。」
他改了幾行。
提交,Accept。
第四道中等題,網絡流,最大流問題。
唐若曦想了很久,寫了四十分鐘。
江辰看了一眼:「Dinic算法寫對了,但BFS分層的時候有個小問題。應該先清空level數組再BFS。」
他改了一行。
提交,Accept。
四道中等題,全部搞定。
唐若曦看了眼時間:「四個小時了。」
陳小胖在旁邊算了一下:「基礎題兩小時,中等題兩小時,加起來四小時,還剩一個小時。」
他看了一眼隔壁桌的林浩然。
代碼敲不隊那邊,屏幕上早已過了七道題,用時三小時。
比他們快了一個小時。
「江神,他們比咱們快……」
「嗯。」
「那咱們是不是沒希望了?」
「不急。」
陳小胖張了張嘴,想說什麼,又咽回去了。
算了,江神說不急就不急。
林浩然那邊,正盯著屏幕,嘴角帶著笑。
「隊長,咱們七道題,只花了三小時。大唐隊七道題,卻花了四小時。比咱們慢了一個小時。」隊友小聲說。
林浩然點頭:「看到了。」
「那這次咱們應該能贏他們吧?」
「不好說,但機會很大。」
「那咱們再加把勁,爭取多做幾道難題!」
「嗯。」
兩人繼續埋頭做題。
BUG殺手隊那邊,趙克林也在算時間。
「咱們七道題,三小時十分。大唐隊七道題,四小時,比咱們慢了五十分鐘。」
「這次有戲!」隊友興奮地說。
「別高興太早,他們後面還有江辰沒出手呢。」
「校內選拔的時候,江辰一個人兩小時做了十三道題。這次就算他慢一點,一個小時做六道題也夠了……」
趙克林沉默了。
「別管他們,做好自己的。」
「嗯。」
最後一小時,五道難題和一道壓軸題,江辰終於親自上手了。
而林浩然那邊,已經搞定第八道題,開始做第九道。
然後,卡住了。
十分鐘,沒思路。
二十分鐘,還是沒思路。
他額頭開始冒汗。
趙克林那邊也一樣。
第九題,序列長度+複雜度。
他想了二十分鐘,寫了個解法,提交。
Wrong Answer。
又改了十分鐘,提交。
Wrong Answer。
再改,再提交。
Time Limit Exceeded。
他的臉色越來越難看。
「這題……怎麼這麼難?」
隊友也卡住了,盯著屏幕,一籌莫展。
「隊長,要不先做第十題?」
林浩然咬牙:「行,先做第十題。」
第十題,最大子矩陣和。
他看了一眼題目,沉默了。
這題,更難。
十分鐘,沒思路。
二十分鐘,還是沒思路。
他看了一眼時間,還剩半小時。
「完了……」
而另一邊。
江辰自打親自上手,鍵盤就沒停過。
他掃了一眼第八道題,題目:【給定一棵樹,求樹上任意兩點之間的最短路徑長度之和】
「樹形DP,統計每條邊被經過的次數。」
他在鍵盤上敲擊。
五分鐘,代碼寫完。
提交,Accept。
陳小胖瞪大眼睛:「五分鐘?這就完了?」
「嗯。」
「不是,這題我看著都頭大,你五分鐘就做完了?」
「還行。」
「……你管這叫還行?」
江辰沒理他,繼續做第九道題。
題目:【給定一個序列,求最長不下降子序列的長度,要求O(nlogn)複雜度】
「二分優化,維護一個數組,存每個長度的最小值。」
五分鐘,代碼寫完。
提交,Accept。
陳小胖已經說不出話了。
第十道題,題目:【給定一個矩陣,求最大子矩陣和】
「二維前綴和+貪心,O(n³)。」
五分鐘,代碼寫完。
提交,Accept。
第十一道題,題目:【給定一個字符串,求最長回文子串】
「Manacher算法,O(n)。」
五分鐘,代碼寫完。
提交,Accept。
第十二道題,題目:【給定一個圖,判斷是否存在歐拉迴路】
「統計每個頂點的度數,判斷是否全為偶數。」
五分鐘,代碼寫完。
提交,Accept。
最後一道,壓軸題。
題目:【給定一個巨大的整數n(最多10^100000),求n的階乘末尾有多少個零】
陳小胖看了一眼題目,直接放棄了。
「這題……我連題都看不懂。」
唐若曦也皺了皺眉:「10的十萬次方?這麼大的數,怎麼處理?」
江辰看了一眼,嘴角微微揚起。
「用勒讓德公式,計算n!中因子5的個數。但n太大,不能直接算,要用字符串處理。」
他手指在鍵盤上飛舞。
五分鐘,代碼寫完。
提交,Accept。
陳小胖看著屏幕上那個綠色的Accept,整個人都麻了。
「江神,你……你是不是人?」
「還行。」
「六道題,半小時?你半小時做了六道題?」
「嗯。」
「那前面七道題你幹嘛不一起做了?」
「給你們練手。」
陳小胖張了張嘴,想說什麼,但什麼都說不出來。
原來江神前面四小時不動手,不是做不出來,是在等他們。
是在手把手教他們。
唐若曦看著他,眼眶有點紅:「老辰,謝謝你。」
江辰笑了:「謝什麼?你們做對了,我才能少做幾道。」
唐若曦也笑了。
陳小胖在旁邊看著兩人,忽然覺得,自己這狗糧吃得,還挺香的。
江辰舉手:「老師,交卷。」
監考老師走過來,看了一眼屏幕,又看了一眼江辰。
「你們做完了?」
「嗯。」
「全部?」
「全部。」
監考老師看了一眼計時器,四小時三十分。
他沉默了三秒,然後點點頭:「行,走吧。」
三人收拾東西,走出機房。
走廊里,空蕩蕩的。
其他兩支隊伍還在裡面苦戰。
陳小胖伸了個懶腰:「江神,你說咱們能過嗎?」
「能。」
「多少名?」
「滿分第一。」
陳小胖愣了一下,然後笑了:「行,江神說第一就第一。」
唐若曦看著江辰,輕聲說:「老辰,你說林浩然他們現在在想什麼?」
江辰想了想:「大概在想,大唐隊怎麼又交捲走人了?」
「哈哈,他們肯定沒想到咱們全部做完,還能得滿分。」
三人說說笑笑,往食堂走。
……
接下來,是四道中等題,難度更高。
陳小胖長舒一口氣:「累死我了,感覺腦子要炸了。」
唐若曦看了他一眼:「你才寫了三道題,就累了?」
「我那是動腦!動腦比動手累多了!」
「那你先休息會兒,接下來四道中等題我來。」
陳小胖如釋重負,往嘴裡塞了片薯片,靠在椅背上,開始當觀眾。
唐若曦盯著屏幕,D題。
圖論,最短路徑。
「Dijkstra算法。」
她想了想,開始寫代碼。
十五分鐘,寫完。
江辰看了一眼:「思路對,但可以用優先隊列優化,複雜度從O(n²)降到O(mlogn)。」
他接過鍵盤,改了幾行。
提交,Accept。
第二道中等題,字符串匹配,KMP算法。
唐若曦寫了三十分鐘,磕磕絆絆寫完了。
江辰看了一眼:「next數組求對了,但匹配邏輯有個小bug。這裡應該用while循環,不是if。」
他改了一行代碼。
提交,Accept。
第三道中等題,線段樹,區間求和。
唐若曦寫了半小時,寫完。
江辰看了一眼:「區間更新的lazy標記寫錯了,應該先更新子節點再更新父節點。」
他改了幾行。
提交,Accept。
第四道中等題,網絡流,最大流問題。
唐若曦想了很久,寫了四十分鐘。
江辰看了一眼:「Dinic算法寫對了,但BFS分層的時候有個小問題。應該先清空level數組再BFS。」
他改了一行。
提交,Accept。
四道中等題,全部搞定。
唐若曦看了眼時間:「四個小時了。」
陳小胖在旁邊算了一下:「基礎題兩小時,中等題兩小時,加起來四小時,還剩一個小時。」
他看了一眼隔壁桌的林浩然。
代碼敲不隊那邊,屏幕上早已過了七道題,用時三小時。
比他們快了一個小時。
「江神,他們比咱們快……」
「嗯。」
「那咱們是不是沒希望了?」
「不急。」
陳小胖張了張嘴,想說什麼,又咽回去了。
算了,江神說不急就不急。
林浩然那邊,正盯著屏幕,嘴角帶著笑。
「隊長,咱們七道題,只花了三小時。大唐隊七道題,卻花了四小時。比咱們慢了一個小時。」隊友小聲說。
林浩然點頭:「看到了。」
「那這次咱們應該能贏他們吧?」
「不好說,但機會很大。」
「那咱們再加把勁,爭取多做幾道難題!」
「嗯。」
兩人繼續埋頭做題。
BUG殺手隊那邊,趙克林也在算時間。
「咱們七道題,三小時十分。大唐隊七道題,四小時,比咱們慢了五十分鐘。」
「這次有戲!」隊友興奮地說。
「別高興太早,他們後面還有江辰沒出手呢。」
「校內選拔的時候,江辰一個人兩小時做了十三道題。這次就算他慢一點,一個小時做六道題也夠了……」
趙克林沉默了。
「別管他們,做好自己的。」
「嗯。」
最後一小時,五道難題和一道壓軸題,江辰終於親自上手了。
而林浩然那邊,已經搞定第八道題,開始做第九道。
然後,卡住了。
十分鐘,沒思路。
二十分鐘,還是沒思路。
他額頭開始冒汗。
趙克林那邊也一樣。
第九題,序列長度+複雜度。
他想了二十分鐘,寫了個解法,提交。
Wrong Answer。
又改了十分鐘,提交。
Wrong Answer。
再改,再提交。
Time Limit Exceeded。
他的臉色越來越難看。
「這題……怎麼這麼難?」
隊友也卡住了,盯著屏幕,一籌莫展。
「隊長,要不先做第十題?」
林浩然咬牙:「行,先做第十題。」
第十題,最大子矩陣和。
他看了一眼題目,沉默了。
這題,更難。
十分鐘,沒思路。
二十分鐘,還是沒思路。
他看了一眼時間,還剩半小時。
「完了……」
而另一邊。
江辰自打親自上手,鍵盤就沒停過。
他掃了一眼第八道題,題目:【給定一棵樹,求樹上任意兩點之間的最短路徑長度之和】
「樹形DP,統計每條邊被經過的次數。」
他在鍵盤上敲擊。
五分鐘,代碼寫完。
提交,Accept。
陳小胖瞪大眼睛:「五分鐘?這就完了?」
「嗯。」
「不是,這題我看著都頭大,你五分鐘就做完了?」
「還行。」
「……你管這叫還行?」
江辰沒理他,繼續做第九道題。
題目:【給定一個序列,求最長不下降子序列的長度,要求O(nlogn)複雜度】
「二分優化,維護一個數組,存每個長度的最小值。」
五分鐘,代碼寫完。
提交,Accept。
陳小胖已經說不出話了。
第十道題,題目:【給定一個矩陣,求最大子矩陣和】
「二維前綴和+貪心,O(n³)。」
五分鐘,代碼寫完。
提交,Accept。
第十一道題,題目:【給定一個字符串,求最長回文子串】
「Manacher算法,O(n)。」
五分鐘,代碼寫完。
提交,Accept。
第十二道題,題目:【給定一個圖,判斷是否存在歐拉迴路】
「統計每個頂點的度數,判斷是否全為偶數。」
五分鐘,代碼寫完。
提交,Accept。
最後一道,壓軸題。
題目:【給定一個巨大的整數n(最多10^100000),求n的階乘末尾有多少個零】
陳小胖看了一眼題目,直接放棄了。
「這題……我連題都看不懂。」
唐若曦也皺了皺眉:「10的十萬次方?這麼大的數,怎麼處理?」
江辰看了一眼,嘴角微微揚起。
「用勒讓德公式,計算n!中因子5的個數。但n太大,不能直接算,要用字符串處理。」
他手指在鍵盤上飛舞。
五分鐘,代碼寫完。
提交,Accept。
陳小胖看著屏幕上那個綠色的Accept,整個人都麻了。
「江神,你……你是不是人?」
「還行。」
「六道題,半小時?你半小時做了六道題?」
「嗯。」
「那前面七道題你幹嘛不一起做了?」
「給你們練手。」
陳小胖張了張嘴,想說什麼,但什麼都說不出來。
原來江神前面四小時不動手,不是做不出來,是在等他們。
是在手把手教他們。
唐若曦看著他,眼眶有點紅:「老辰,謝謝你。」
江辰笑了:「謝什麼?你們做對了,我才能少做幾道。」
唐若曦也笑了。
陳小胖在旁邊看著兩人,忽然覺得,自己這狗糧吃得,還挺香的。
江辰舉手:「老師,交卷。」
監考老師走過來,看了一眼屏幕,又看了一眼江辰。
「你們做完了?」
「嗯。」
「全部?」
「全部。」
監考老師看了一眼計時器,四小時三十分。
他沉默了三秒,然後點點頭:「行,走吧。」
三人收拾東西,走出機房。
走廊里,空蕩蕩的。
其他兩支隊伍還在裡面苦戰。
陳小胖伸了個懶腰:「江神,你說咱們能過嗎?」
「能。」
「多少名?」
「滿分第一。」
陳小胖愣了一下,然後笑了:「行,江神說第一就第一。」
唐若曦看著江辰,輕聲說:「老辰,你說林浩然他們現在在想什麼?」
江辰想了想:「大概在想,大唐隊怎麼又交捲走人了?」
「哈哈,他們肯定沒想到咱們全部做完,還能得滿分。」
三人說說笑笑,往食堂走。
……