用了大概一個(gè)半月的時(shí)間吧,當(dāng)然中間有大概一個(gè)禮拜空著來著

這是第二次做USACO了,第一次是高中的時(shí)候,那個(gè)時(shí)候的題目跟現(xiàn)在的都不太一樣,主要是順序,而且那個(gè)時(shí)候是用PASCAL寫的

但是高中的時(shí)候沒有做完,卡在了Section 5之前,其實(shí)是因?yàn)楹芏鄸|西不會(huì),數(shù)學(xué)其實(shí)也不夠好,至于理解的能力,不知道現(xiàn)在是不是也有所提高了

其實(shí)這次做的并不是非常順利,我不是牛人,不可能一天掃10幾道題目那種,然后每到題目半個(gè)小時(shí)就搞定

前面3個(gè)Section的題目還都不算是很難,都是訓(xùn)練型的,都是教你算法怎么用,從Section 4開始就有比較難的題目了,尤其是DP

DP從高中開始我就沒有感覺,那時(shí)候就有人跟我說,只能多做題目,也許我現(xiàn)在做的還不夠多吧,總感覺DP是很有用很有用的東西,所以一直想學(xué)好

不管怎么樣,USACO總算是磕磕碰碰的做完了,應(yīng)該在NoCow和Google的幫助下終于做完了

后面大部分題目我都看了解題報(bào)告,有些算法想得出,但是不知道該怎么應(yīng)用到題目之上

現(xiàn)在發(fā)現(xiàn)這點(diǎn)才是最重要的,算法模塊誰(shuí)不會(huì)寫啊,都可以提前寫好一個(gè)放在那里,但是問題是怎么把這個(gè)算法應(yīng)用到題目上

可能這就是所謂的建模吧,把題目變形一下,然后跟我們已知的算法聯(lián)系起來

還有另外一種情況,這個(gè)題目的算法不是已知的任何算法,要自己去想的,這才是真正考驗(yàn)一個(gè)人算法素養(yǎng)的時(shí)候

就像TCO里面的題目,其實(shí)很多都是這樣的,很少會(huì)給你一道題目讓你直接去套一個(gè)算法的

可能原來我在這方面的理解就有偏差,我總認(rèn)為,你把所有的常見算法都練熟了,所有的題目都可以橫掃

但是問題就是,你能不能看得出來哪道題目用哪種算法

而且,就像DP這種題目,就算你看出來了,狀態(tài)轉(zhuǎn)移方程你也未必寫的出來

總之還是學(xué)到了很多,雖然磕磕碰碰,但是做完了100道題還是會(huì)有收獲的

不知道下一個(gè)目標(biāo)是什么SGU呢,還是TCO

其實(shí)之所以喜歡USACO的一個(gè)原因就是他會(huì)告訴你測(cè)試數(shù)據(jù),你可以很方便的Debug

像OJ這種,不告訴你測(cè)試數(shù)據(jù)的,如果遇到了WA,你就要想破腦袋去想你的程序哪里錯(cuò)了

而往往一個(gè)人自己看自己的程序的時(shí)候,是很難發(fā)現(xiàn)錯(cuò)誤的,這就會(huì)讓人很郁悶,真的是非常郁悶

更何況,有些OJ真的是很賤的,用一些超級(jí)惡心的數(shù)據(jù)來鉆你的空子。

不知道這樣對(duì)不對(duì),也許是考驗(yàn)?zāi)愕募?xì)心程度吧

SGU or TCO 呢?