每個(gè)隊(duì)伍將分到一臺(tái)電腦,比賽時(shí)間為上午十點(diǎn)到下午三點(diǎn),總計(jì)五個(gè)小時(shí),需要在這段時(shí)間內(nèi)完成十道題。
這十題將全部采用英文進(jìn)行描述,如果沒(méi)有點(diǎn)單詞儲(chǔ)備,連題目都讀不懂。
顏安拿到題目后便攬過(guò)了第一件活,“我來(lái)讀題吧?!?p> 如果是常規(guī)開(kāi)局,在拿到題目后最好是三人分開(kāi)讀題,這樣可以在最大程度上節(jié)省時(shí)間。
但對(duì)顏安不同,在他眼里這些單詞、語(yǔ)法簡(jiǎn)單地過(guò)分,林琛、劉希讀一題的功夫他都能全部搞定了,且不會(huì)出現(xiàn)翻譯錯(cuò)誤。
林琛一邊記錄題目?jī)?nèi)容,一邊整理思路為每道題找到一個(gè)可能的解題方向。
劉希也沒(méi)閑著,調(diào)整IDE,打開(kāi)PC^2,寫(xiě)好頭文件及常用模板。順便還要打開(kāi)BOARD,隨時(shí)準(zhǔn)備跟風(fēng)。
三人一刻不停,等顏安讀題完成,其他小隊(duì)還才到第六第七題,劉希時(shí)刻關(guān)注著坐在對(duì)面的那批人,發(fā)現(xiàn)他們?cè)谧x題后只交流過(guò)兩次,大概率只進(jìn)行到一半。
雖然只是微弱優(yōu)勢(shì),但就是這樣的差距讓劉希對(duì)接下來(lái)的比賽充滿信心。
“我先寫(xiě)吧,這道題我已經(jīng)有思路了?!?p> 顏安接過(guò)電腦的控制權(quán),在三個(gè)人共用一臺(tái)電腦的情況下,應(yīng)當(dāng)優(yōu)先把穩(wěn)過(guò)的水題給過(guò)掉。
這些題目的難度頗高,每道題大概都有那天考試時(shí)倒數(shù)第五題的難度,不過(guò)對(duì)現(xiàn)在的顏安和林琛來(lái)講都不在話下。
林琛則扯出幾張草稿紙和劉希分了一下,“我記得這道題你比較擅長(zhǎng),可以先在紙上解題?!?p> 作為技術(shù)能力和擅長(zhǎng)方向都被兩人涵蓋在內(nèi)的劉希,在隊(duì)內(nèi)的定位其實(shí)非常尷尬,要不是章老師堅(jiān)持讓她留下來(lái),現(xiàn)在坐在這里的可能就是另一位學(xué)長(zhǎng)了。
讓三個(gè)各方面都拔尖的學(xué)生來(lái)參賽,從做題的角度來(lái)講無(wú)疑是最好的選擇。但競(jìng)賽并不只有做題,劉希在隊(duì)伍里需要擔(dān)當(dāng)?shù)氖禽o助手。
在比賽持續(xù)的五個(gè)小時(shí)內(nèi),大多數(shù)隊(duì)伍都會(huì)放棄用餐時(shí)間,從十二點(diǎn)開(kāi)始強(qiáng)隊(duì)會(huì)逐漸開(kāi)始爆發(fā),與他們拉開(kāi)差距。
劉希的任務(wù)是保證顏安和林琛在比賽前期能夠盡量的節(jié)省體力,以在中后程持續(xù)的發(fā)力。
當(dāng)然,如果她能解出題目來(lái)時(shí),也能為顏安、林琛節(jié)省寶貴的時(shí)間。
顏安正在寫(xiě)的題目不是很難。
一個(gè)巨大的數(shù)n可表示為由0、1組成的字符串s,尋找可能的數(shù)對(duì)(i,j),其中滿足條件有零小于等于i小于等于j小于等于n,i&n=i,i&j=0。求每個(gè)n最多有多少數(shù)對(duì)(i,j)。
在讀題時(shí)他便已經(jīng)想到了兩種解題方法,其一是數(shù)位DP,其二是找規(guī)律加二項(xiàng)式定理加快速冪預(yù)存。
比幾天前基礎(chǔ)功更扎實(shí)的他已經(jīng)不需要用“取巧”的方式來(lái)寫(xiě)這種題目了,嫻熟的敲擊鍵盤(pán)代碼一行接一行的冒出來(lái)。
他那清脆的鍵盤(pán)敲擊聲在安靜的考場(chǎng)中顯得格外刺耳,還在讀題的其他人驚訝的抬頭循著聲音張望,又很快低頭加快了讀題速度。
隨著思路的逐漸明確,顏安順利的完成了代碼,將其提交給評(píng)測(cè)機(jī)后不久,他們得到了全場(chǎng)第一個(gè)黃色的“FIRST PROBLEM SOLVED”氣球。
每一道題都有其相對(duì)應(yīng)的一種顏色,解題完成后通過(guò)評(píng)委的判定為正確,就可以得到相應(yīng)顏色的氣球。
而如果氣球上有“FIRST PROBLEM SOLVED”的字樣,則表示這道題他們隊(duì)伍是全場(chǎng)第一個(gè)完成的。
夏雨目瞪口呆的看著顏安,他以為的醬油選手轉(zhuǎn)頭就拿下了一血,而他還在想解題思路,隊(duì)友占著電腦寫(xiě)的磕磕絆絆,看樣子一時(shí)半會(huì)完不成。
他這么厲害嗎?他看過(guò)所有題,就沒(méi)有那種一眼就會(huì)的題目,甚至題目中還有那么兩句翻譯不出來(lái)。
強(qiáng)烈的危機(jī)感涌上心頭,長(zhǎng)得帥技術(shù)好,又是老同學(xué)。
夏雨意識(shí)到如果任由顏安發(fā)動(dòng)攻勢(shì)的話,他兩個(gè)月來(lái)的辛苦付出將會(huì)眨眼間付之一炬。
換他是陳淑敏,都很難不心動(dòng)。
心已經(jīng)開(kāi)始痛了。
強(qiáng)迫自己將注意力轉(zhuǎn)到面前的稿紙上來(lái),但幾分鐘過(guò)去,夏雨發(fā)現(xiàn)自己怎么也進(jìn)不了狀態(tài)。
同樣著急的不只是他,坐在顏安對(duì)面來(lái)自春申五角場(chǎng)的馮偉。
被他口中的鄉(xiāng)下人領(lǐng)先,讓他恨不得多長(zhǎng)一雙手,光速敲完代碼把落后的給追回來(lái)。
更令他氣的是在與劉希的眼神交鋒中,對(duì)方眼里的得意。
鄉(xiāng)巴佬先讓你們又如何。
在心中狠狠咒罵,渾然沒(méi)有注意自己敲鍵盤(pán)的速度已經(jīng)慢了下來(lái),同時(shí)出現(xiàn)了幾處連他都沒(méi)察覺(jué)的錯(cuò)誤。
這些錯(cuò)誤在他提交評(píng)測(cè)機(jī)后被退了回來(lái),判定結(jié)果為Compile Error,也就是編譯錯(cuò)誤,連跑都跑不起來(lái)。
與他焦頭爛額的檢查錯(cuò)誤修改代碼相比,顏安就悠閑許多。
他正在與學(xué)姐一起解題,順著學(xué)姐的思路很快便將第三題的詳細(xì)步驟確定下來(lái),就連細(xì)節(jié)都全部搞定。
剩下的工作非常簡(jiǎn)單,只要照著稿紙把代碼抄上去就完事了。
至于第二題,則由林琛接手,相較于顏安他敲代碼的速度就要慢一些了,當(dāng)他敲到一半時(shí),已經(jīng)有隊(duì)伍得到了這道題對(duì)應(yīng)的紅色氣球。
畢竟大家都在挑這種簡(jiǎn)單的題目寫(xiě),幾乎每道題都有數(shù)十支隊(duì)伍在同時(shí)發(fā)起沖鋒,誰(shuí)能更快一步,就看手速有多快。
他們不可能樣樣都趕在別人之前,能拿下一血已經(jīng)相當(dāng)不錯(cuò)了。
三道最簡(jiǎn)單的題目搞定,從第四道題開(kāi)始就有了一定的難度,賽場(chǎng)隨處可見(jiàn)紅黃藍(lán)三色氣球,但第四種顏色遲遲未出,可見(jiàn)題目難度不在同一等級(jí)。
顏安初讀題時(shí)也被卡住了。
給出n和m,節(jié)點(diǎn)編號(hào)1到n,問(wèn)有多少個(gè)n個(gè)點(diǎn)m條邊的簡(jiǎn)單無(wú)向圖,滿足加一些邊后,能變成一個(gè)n個(gè)點(diǎn)n條邊的簡(jiǎn)單環(huán)。
n的取值范圍是三到十萬(wàn)。
m的取值范圍是零到n(n-1)/2。
正向思考解題非常復(fù)雜,顏安卡了會(huì)才想到。
如果倒過(guò)來(lái)考慮,有一個(gè)n點(diǎn)n邊的簡(jiǎn)單環(huán),拿掉n-m條邊后,這樣便只剩下m條邊了,變成了n-m個(gè)鏈的方案數(shù)。
令k=n-m,那么這道題就成了n個(gè)點(diǎn)的一個(gè)簡(jiǎn)單環(huán),拿邊之后剩下k條鏈的方案數(shù)。
這么來(lái)寫(xiě)的話,會(huì)要簡(jiǎn)單很多。
在林琛寫(xiě)完第二題后,顏安立即接手過(guò)去開(kāi)始這道題的代碼實(shí)現(xiàn)。

seed合集
求求追讀