第三章 認(rèn)識(shí)的契機(jī)(上)
--------------------------------------------------------
為大家科普一下OI是什么。
OI,全稱Olympiad in Informatics,亦即是信息學(xué)競(jìng)賽。是以信息學(xué),尤其是編程的相關(guān)知識(shí)為基礎(chǔ)的中學(xué)學(xué)科競(jìng)賽。不同的國(guó)家或者地區(qū)內(nèi)的學(xué)生經(jīng)過(guò)自己內(nèi)部的各種比賽,選拔,最終選擇四名成員,參加一年一度的國(guó)際賽事——國(guó)際信息學(xué)奧林匹克競(jìng)賽,也簡(jiǎn)稱IOI。
以上是維基對(duì)OI的定義。
簡(jiǎn)單來(lái)說(shuō),OI是一類(因?yàn)橛泻芏嗖煌谋荣?,例如IOI,APIO,NOI之類的)寫程式的比賽。然后比賽的形式就是做題,每一道題目都有不同的要求。一道題滿分是100分,可能會(huì)有部份分可以拿。一場(chǎng)比賽會(huì)有數(shù)條題目,最后就是比較誰(shuí)高分。
--------------------------------------------------------
時(shí)間稍稍倒回到半年前。
「……要轉(zhuǎn)校去其他的學(xué)校嗎?」
在房間內(nèi),瑾煢正在坐在書(shū)桌的面前,雙手環(huán)抱著膝蓋,同時(shí)有些苦惱地自言自語(yǔ)道。
事實(shí)上,因?yàn)橛兄鞣N不同的原因一起綜合起來(lái),瑾煢在以前就曾經(jīng)有過(guò)要離開(kāi)現(xiàn)在所在的學(xué)校的想法了。但是現(xiàn)在之所以會(huì)突然開(kāi)始認(rèn)真地考慮這件事,最主要的還是她最近所遇到的瓶頸。
沒(méi)錯(cuò),就是在OI上遇到的瓶頸。
自從她第一次接觸到這個(gè)東西以來(lái),數(shù)起來(lái)也已經(jīng)差不多有一年的時(shí)間了。只不過(guò)和其他人有些不同,一直以來(lái)她都是自己一個(gè)人在學(xué)習(xí)的。
本來(lái)OI在澳門就是一個(gè)不太流行的比賽。所以在瑾煢的學(xué)校當(dāng)中,理所當(dāng)然地是沒(méi)有老師會(huì)教導(dǎo)相關(guān)的知識(shí),也不會(huì)有什么關(guān)于寫程式的課外小組,甚至連想找一個(gè)和她有相同興趣的同學(xué)都找不到。
不過(guò)該慶幸她所學(xué)的是OI嗎?
在這個(gè)圈子里,網(wǎng)上的選手們都十分友善,而且還經(jīng)常拿分享各種的知識(shí)。隨意搜尋一下,都能找到他們的博客當(dāng)中有對(duì)某些算法的介紹,而且經(jīng)常都會(huì)附上很詳盡的解釋。
畢竟全部打OI的人都是一群經(jīng)常會(huì)上網(wǎng)的人嘛。如果換作是其他的比賽,網(wǎng)上大概沒(méi)這么多的資源,而且也不可能這么容易就獲得了。
所以一直以瑾煢靠著自己學(xué)習(xí)的時(shí)侯也還算順利……才怪。有人教和沒(méi)有人教,始終仍然是兩回事。
在一開(kāi)始剛接觸到OI的時(shí)侯,她靠著看著別人寫的文章自學(xué)得還算是順利,起碼基本的語(yǔ)法以及各種的邏輯用語(yǔ)也沒(méi)有多大的問(wèn)題。畢竟也算是經(jīng)歷過(guò)初中學(xué)業(yè)的洗禮,如果是初一初二的時(shí)侯她的理解力也可能沒(méi)有那么強(qiáng)。
只不過(guò)隨著不斷深入學(xué)習(xí)的時(shí)侯,瑾煢也慢慢地開(kāi)始感覺(jué)有點(diǎn)無(wú)力了起來(lái)。
「到底為什么可以這么難」
望著電腦屏幕上的一段段文字,她不禁苦笑起來(lái)發(fā)出感慨。
「『…懶惰標(biāo)記,簡(jiǎn)單來(lái)說(shuō),就是通過(guò)延遲對(duì)節(jié)點(diǎn)資訊的更改,從而減少可能不必要的操作次數(shù)。每次執(zhí)行修改時(shí),我們通過(guò)打標(biāo)記的方法表明該節(jié)點(diǎn)對(duì)應(yīng)的區(qū)間在某一次操作中被更改,但不更新該節(jié)點(diǎn)的子節(jié)點(diǎn)的資訊。實(shí)質(zhì)性的修改則在下一次訪問(wèn)帶有標(biāo)記的節(jié)點(diǎn)時(shí)才進(jìn)行…』」?????????????????
老實(shí)說(shuō),真的是完全不知道這段文字到底是在說(shuō)什么呢。
(通過(guò)延遲更新來(lái)減少時(shí)間復(fù)雜度倒是能夠理解,遇到一個(gè)完整個(gè)區(qū)間時(shí)可以先不往下更新,就可以將n次的修改操作減少為log2(n)次。但是完全不明白為什么代碼這樣打就可以實(shí)現(xiàn)啊……如果之后要在某個(gè)大的區(qū)間里更改的話,為什么可以用pushdown的函數(shù)就可以保證更新的正確性?)
瑾煢的大腦飛速運(yùn)轉(zhuǎn)著。在自己隨意地構(gòu)造出來(lái)的例子當(dāng)中,套用文章中提到的算法進(jìn)行一下運(yùn)算,讓自己更容易地去理解。
這一種在書(shū)桌前發(fā)呆個(gè)十幾分鐘的情況,在最近都經(jīng)常會(huì)發(fā)生。
也可能是自己不夠聰明吧?,F(xiàn)在那些比較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法,其實(shí)大部份都只能學(xué)習(xí)到一知半解,只是為了題目而在代碼當(dāng)中硬套模板。
而且即使最終能夠搞清楚那些知識(shí)的原理,但是比起以前也需要花費(fèi)更多的時(shí)間。感覺(jué)也開(kāi)始越來(lái)越難去理解那些更加困難的知識(shí)了。
(終于是時(shí)侯,要結(jié)束這種自己這種自學(xué)的生活了嗎)
瑾煢心中不禁冒出了這個(gè)想法。
如果想要有人教導(dǎo)自己的話,最直接的方法就是轉(zhuǎn)學(xué),去一些會(huì)有競(jìng)賽相關(guān)的培訓(xùn)的學(xué)校。這大概就是最有效而且是成功率最高做法了。
雖然如果要離開(kāi)現(xiàn)在的學(xué)校,自己是完全沒(méi)有什么情感上的負(fù)擔(dān)。但是如果是為了學(xué)寫程式就轉(zhuǎn)學(xué),感覺(jué)的確是有些離譜了……而且還要考慮到學(xué)業(yè)上的問(wèn)題,如果僅僅是為了興趣而做出的決定,也許自己在未來(lái)就會(huì)后悔。
在沉思過(guò)后,瑾煢拍了拍自己的臉,稍稍振作了起來(lái)。
「好了,自己一個(gè)學(xué)習(xí)也不是不行,頂多就學(xué)得慢一點(diǎn)而己……想這么多,倒不如多做幾道題還比較實(shí)際」
于是轉(zhuǎn)學(xué)的想法就暫時(shí)地被她打消了。
而直到她重新拾起這個(gè)想法,就已經(jīng)是三個(gè)月后的事情了。
*
時(shí)間來(lái)到了六月份的結(jié)尾,同時(shí)也是瑾煢學(xué)校里學(xué)期結(jié)束的時(shí)侯。
「咦,IOI第一天的比賽完結(jié)了嗎?我居然錯(cuò)過(guò)了」
在忙碌的期末考過(guò)后,她才有空留意到論壇上大家對(duì)于今年國(guó)際賽題目的討論。然后才因此意識(shí)到,今年的國(guó)際賽比起以前更要提早了一兩個(gè)月舉辨。
「今年澳門隊(duì)成績(jī)不知道是怎樣呢」
她邊默默想著,邊打開(kāi)了分?jǐn)?shù)榜看了看。
「唔,澳門的英文名稱好像是MAC……好了,看到了。咦?今年終于不是四個(gè)人都打鐵了嗎」
看到了排行榜上一旁澳門隊(duì)各個(gè)成員的排名,瑾煢便略有驚訝地想著。?????????????????
在過(guò)去幾年的比賽中,澳門隊(duì)連半個(gè)獎(jiǎng)都沒(méi)有拿到過(guò),甚至排名也幾乎是墊底的存在。畢竟在這個(gè)地方也沒(méi)多少人會(huì)投入時(shí)間在OI上,會(huì)出現(xiàn)這種情況也是挺正常的。
只不過(guò),在今年第一天的比賽日,有一個(gè)人過(guò)銀牌分?jǐn)?shù)線了,第五十名。
「咦,澳門隔了這么久終于可以拿到一次銀獎(jiǎng)嗎」
瑾煢有些難以掩蓋心中的興奮,不自覺(jué)地微微笑了起來(lái)。
澳門歷史以來(lái)只有五次的銀獎(jiǎng),而且還有幾個(gè)是在二十年前左右的遠(yuǎn)古時(shí)代拿到的。所以即使是這個(gè)成績(jī),都已經(jīng)足夠優(yōu)秀了。
「……他,好像是叫龍?zhí)煺Z(yǔ)嗎?」
瑾煢將排行榜的位置移到那個(gè)選手上面看了看他的名字。
然后便在好奇心的驅(qū)使下,點(diǎn)開(kāi)了在官方網(wǎng)站上所記錄著他的個(gè)人資料,仔細(xì)地閱讀著。
「今是是第三年參加,然后前兩年都是打鐵......咦?就是說(shuō)他是今年突然間變厲害了許多了?」
她有些驚訝地看著天語(yǔ)過(guò)往兩年的成績(jī),都是落在二百多名左右。
「然后,年齡的話,現(xiàn)在正在讀高一……等一下,也就是和我的年紀(jì)一樣?」
瑾煢不禁苦笑了起來(lái),同時(shí)心里面也產(chǎn)生了一絲的挫敗感。
(沒(méi)想到這么厲害的人居然會(huì)是和自己同齡的人)
就在自己還在苦苦掙扎著的時(shí)侯,就已經(jīng)有人能夠在那個(gè)最高的舞臺(tái)上,和其他優(yōu)秀的人比上一比。
雖然可能是自己一直以來(lái)都沒(méi)有人教導(dǎo)原因,才導(dǎo)致實(shí)力有所落差。但是瑾煢也完全不會(huì)覺(jué)得自己在有人教導(dǎo)后,就一定能夠入選澳門代表隊(duì)。更不要提在國(guó)際賽上可以拿到獎(jiǎng)項(xiàng)了。
嘛,反正現(xiàn)在自己能做的,也只能夠隔著面前的屏幕替那些遠(yuǎn)在新加坡的人們加油而已。
*
IOI評(píng)獎(jiǎng)的規(guī)則是這樣的:
金︰銀︰銅︰鐵(無(wú)獎(jiǎng)) = 1︰2:3:6
而每一年參加大概會(huì)有360人左右,所以大概金獎(jiǎng)有30名,銀獎(jiǎng)60名,銅獎(jiǎng)90名,剩下180人啥都沒(méi)有。
*