ACM大量習(xí)題題庫(kù)
現(xiàn)在網(wǎng)上有許多題庫(kù),大多是可以在線評(píng)測(cè),所以叫做Online Judge。除了USACO是為IOI準(zhǔn)備外,其余幾乎全部是大學(xué)的ACM競(jìng)賽題庫(kù)。
USACO
http://ace.delos.com/usacogate
美國(guó)著名在線題庫(kù),專門為信息學(xué)競(jìng)賽選手準(zhǔn)備
TJU
http://acm.tongji.edu.cn/
同濟(jì)大學(xué)在線題庫(kù),唯一的中文題庫(kù),適合NOIP選手
ZJU
http://acm.zju.edu.cn/
浙江大學(xué)在線題庫(kù)
JLU
http://acm.jlu.edu.cn/
吉林大學(xué)在線題庫(kù)(一直上不去)
PKU
http://acm.pku.edu.cn
北京大學(xué)在線題庫(kù)
URAL
http://acm.timus.ru
俄羅斯烏拉爾大學(xué)在線題庫(kù)
SGU
http://acm.sgu.ru/
俄羅斯圣薩拉托夫州大學(xué)在線題庫(kù)
ELJ
http://acm.mipt.ru/judge/bin/problems.pl?lang=en
俄羅斯莫斯科物理技術(shù)學(xué)院
SPOJ
https://spoj.sphere.pl/
波蘭格但斯克理工大學(xué)
UVA
http://acm.uva.es/
西班牙的Universidad de Valladolid在線題
ACM聯(lián)系建議
一位高手對(duì)我的建議:
一般要做到50行以內(nèi)的程序不用調(diào)試、100行以內(nèi)的二分鐘內(nèi)調(diào)試成功.acm主要是考算法的
,主要時(shí)間是花在思考算法上,不是花在寫程序與debug上。
下面給個(gè)計(jì)劃你練練:
第一階段:
練經(jīng)典常用算法,下面的每個(gè)算法給我打上十到二十遍,同時(shí)自己精簡(jiǎn)代碼,
因?yàn)樘S茫砸毜綄憰r(shí)不用想,10-15分鐘內(nèi)打完,甚至關(guān)掉顯示器都可以把程序打
出來.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成樹(先寫個(gè)prim,kruscal要用并查集,不好寫)
3.大數(shù)(高精度)加減乘除
4.二分查找. (代碼可在五行以內(nèi))
5.叉乘、判線段相交、然后寫個(gè)凸包.
6.BFS、DFS,同時(shí)熟練hash表(要熟,要靈活,代碼要簡(jiǎn))
7.數(shù)學(xué)上的有:輾轉(zhuǎn)相除(兩行內(nèi)),線段交點(diǎn)、多角形面積公式.
8. 調(diào)用系統(tǒng)的qsort, 技巧很多,慢慢掌握.
9. 任意進(jìn)制間的轉(zhuǎn)換
第二階段:
練習(xí)復(fù)雜一點(diǎn),但也較常用的算法。
如:
1. 二分圖匹配(匈牙利),最小路徑覆蓋
2. 網(wǎng)絡(luò)流,最小費(fèi)用流。
3. 線段樹.
4. 并查集。
5. 熟悉動(dòng)態(tài)規(guī)劃的各個(gè)典型:LCS、最長(zhǎng)遞增子串、三角剖分、記憶化dp
6.博弈類算法。博弈樹,二進(jìn)制法等。
7.最大團(tuán),最大獨(dú)立集。
8.判斷點(diǎn)在多邊形內(nèi)。
9. 差分約束系統(tǒng).
10. 雙向廣度搜索、A*算法,最小耗散優(yōu)先.
第三階段:
前兩個(gè)階段是打基礎(chǔ),第三階段是鍛煉在比賽中可以快速建立模型、想新算法
。這就要平時(shí)多做做綜合的題型了。
1. 把oibh上的論文看看(大概幾百篇的,我只看了一點(diǎn)點(diǎn),呵呵)。
2. 平時(shí)掃掃zoj上的難題啦,別老做那些不用想的題.(中大acm的版主經(jīng)常說我挑簡(jiǎn)單的來
做:-P )
3. 多參加網(wǎng)上的比賽,感受一下比賽的氣氛,評(píng)估自己的實(shí)力.
4. 一道題不要過了就算,問一下人,有更好的算法也打一下。
5. 做過的題要記好 :-)