锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
{
//...
}
2.while((scanf"%d,%d",&m,&n)!=EOF)
{
//...
}
3.while(cin>>m>>n)
{
//...
}
ACM /ICPC鐨勬瘮璧涘艦寮忎竴鑸槸浜斾釜灝忔椂鍏釜棰樼洰錛岀患鍚堣冨療閫夋墜鐨勬暟瀛﹁兘鍔涖佺畻娉曡兘鍔涖乧oding鑳藉姏鍜宒ebug鑳藉姏錛岃繕鏈夊洟闃熼厤鍚堣兘鍔涖傛暟瀛︽柟闈富瑕佸己璋冪粍鍚堟暟瀛︺佸浘璁哄拰鏁拌榪欎笁涓柟闈㈢殑鑳藉姏錛涜岀畻娉曠殑瑕嗙洊鑼冨洿寰堝箍錛屾秹鍙婁簡澶ч儴鍒嗙粡鍏哥殑綆楁硶錛屽拰灝戦噺杈冨墠娌跨殑綆楁硶銆傜敱浜庢瘡閬撻鐩兘闇瑕侀氳繃鎵鏈夌殑嫻嬭瘯鏁版嵁鎵嶈兘寰楀垎錛屽茍涓旈渶瑕佺簿紜В錛岃繖闄愬埗浜咥pproximation algorithm鍦ㄤ竴浜汵P-hard鐨勯鐩腑鐨勮繍鐢紝浠庤屼嬌寰楁悳绱㈠拰鍓灊絳栫暐瀵逛簬NP-hard鐨勯鐩潪甯擱噸瑕併?br>
Final鐨勯鐩拰Regional棰樼洰鐨勬瘮杈?br>
ACM ICPC瀹樻柟鐨勬寮忔瘮璧涘彲鍒嗕負World Final鍜孯egional Contest涓ょ銆侳inal鐨勯鐩洿鍔犳緇熷拰涓ヨ皚錛屽己璋冪畻娉曠殑緇煎悎榪愮敤錛屼竴涓鐩線寰闇瑕佸嚑縐嶇畻娉曠殑緇撳悎銆備粠榪欏嚑騫寸殑final鐨勯鐩湅錛宖inal鍔犲ぇ浜嗛鐩殑浠g爜閲忥紝瀵逛唬鐮佽兘鍔涚殑瑕佹眰鏈夋墍澧炲己銆傝孯egional鐨勯鐩垯鏇村姞鐏墊椿錛屽悓鏃舵瘡涓禌鍖轟篃鏈夎嚜宸辯殑鍑洪椋庢牸銆傛媧茶禌鍖虹殑棰樼洰浠ラ珮璐ㄩ噺鍑哄悕錛屽綆楁硶鍜屾暟瀛︾殑寮鴻皟鐢氳嚦瓚呰繃浜哤orld Final錛涚編鍥界殑璧涘尯杈冨妯℃嫙棰橈紝寮鴻皟浠g爜閲忋傝屼簹媧插垯浠嬩簬涓よ呬箣闂達紝鍚屾椂鐢變簬姣忓勾閮芥湁涓浜涙柊鐨勮禌鍖猴紝鎵浠ュ茍娌℃湁寰堝浐瀹氱殑妯″紡銆?br>
涓嬮潰嫻呰皥涓涓嬭繎鍑犲勾ACM ICPC鐨勯鐩殑瑕嗙洊闈€備竴浜涘父瑙勭殑綆楁硶鍜岄鍨嬫病浠涔堝ソ璁茬殑錛屼笅闈富瑕佷晶閲嶄竴浜涙柊棰栫殑鐭ヨ瘑鐐規(guī)垨棰樺瀷錛屾垨鏄竴浜涜緝鍓嶆部鐨勫唴瀹廣?br>
鏁板鐨勬柊棰樺瀷
闄や簡涓浜涘熀鏈殑緇勫悎鏁板鍜岀粍鍚堟暟璁虹殑闂錛岃繎騫存潵姒傜巼鍜孋ombinatorial Game Theory鐨勯鐩愭笎澧炲銆傚緢澶氭湁瓚g殑棰樼洰閮芥槸浠arkov Process涓鴻儗鏅紝闇瑕佺敤鍒頒竴浜涚浉鍏崇殑鐭ヨ瘑銆?br>
鍘誨勾鍥藉唴鏉窞璧涘尯鐨勪竴涓緢鏈夎叮鐨勯鐩槸錛岀粰鍑轟竴涓瓧絎﹂泦錛堟瘮濡?/span>
{A,B,C}錛夊拰涓涓瓧絎︿覆T錛堟瘮濡侫CBBCAC錛夛紝鐜板湪浠庝竴涓┖涓睸寮濮嬶紝姣忔絳夋鐜囩殑娣誨姞A,B,C涓殑涓涓瓧絎︼紝鐩村埌T鏄疭鐨勪竴涓瓙涓層傞棶寰楀埌鐨勫瓧絎︿覆S鐨勯暱搴︾殑鏈熸湜銆傝繖鏄竴涓吀鍨嬬殑Markov Process錛屽叾瑙e彲浠ョ敤鐢熸垚鍑芥暟寰堜紭緹庣殑綆楀嚭鏉ャ備竴涓洿鏈夎叮鐨勭増鏈槸錛屽亣濡傝繕鏈夊彟涓涓瓧涓睷錛屽綋S涓嚭鐜癟鎴栬匯灝辯粓姝紝闂粓姝㈠湪T鍜孯鐨勬鐜囧悇鏄灝戙傝繖涓棶棰樺湪Graham, Knuth, 鍜孭atashnik鍚堣憲鐨凜oncrete Mathematics閲岄潰鏈夎緇嗙殑鍒嗘瀽錛屽茍鏈夌潃涓涓紭緹庣殑緇撹銆?br>
Game theory鏂歸潰錛屼富瑕佹槸緇忓吀鐨刢ombinatorial game theory鑰屾瘮杈冨皯Zero-sum game鍜孨ash equilibrium鐨勫唴瀹廣備互鍓嶇敋灝戦夋墜鐭ラ亾鐨凷prague-Grundy Value鐜板湪宸插嚑涔庢垚浜嗗繀澶囩殑鐭ヨ瘑銆傝櫧鐒跺ぇ閮ㄥ垎棰樼洰閮芥槸two-person perfect information impartial game錛屽熀鏈兘鍙互鐢⊿prague-Grundy Theorem瑙e喅錛屼絾涔熷嚭鐜拌繃misere play鐨勬儏鍐點傝繕鏈変竴浜涢鐩垯鏄氳繃鎵捐寰嬪拰褰掔撼瑙e喅銆?br>
Graph theory鏂歸潰錛屼笂嫻瘋禌鍖哄湪澶氬勾鍓嶅氨鍑轟簡涓閬揅hordal graph recognition鐨勯鐩紝浣垮緱璁稿閫夋墜鎶曞叆寮﹀浘鍜屽尯闂村浘鐨勫涔狅紝騫朵簡瑙e埌瀹岀編鍥劇悊璁猴紱IPSC鏈変竴騫村嚭浜哻onsecutive ones problem錛屼粠鑰屽紩璧蜂簡閫夋墜浠PQ鏍戝拰騫抽潰鍥懼垽瀹氱殑鍏蟲敞銆?br>
闄ゆ涔嬪錛岃繕鏈変竴浜涢浂鏁g殑non-trivial鐨勯鐩紝鐢氳嚦鏄竴浜涢潪甯竔nvolved鐨勯鐩傚鍒樻睗浣崇粰杈懼崱璧涘尯鍑虹殑涓閬搖nbreakable tiling鐨勯鐩傚叾涓垜闈炲父鍠滄鐨勪竴涓鐩槸鍥涘勾鍓嶄笢鍖楁璧涘尯鐨勪竴涓猣loodlight problem錛氬鉤闈笂緇欏嚭n涓偣浠h〃n鐩忕伅錛屾瘡涓伅鍙互鐓т寒鍦嗗績瑙掍負2*∏/n鐨勪竴涓墖褰㈠尯鍩熴傞棶鎬庢牱鎺у埗榪欎簺鐏殑瑙掑害錛屼嬌寰楀彲浠ョ収浜暣涓鉤闈€?br>
榪樻湁涓浜涙暟瀛﹂鍒欒冮獙鍒涢犺兘鍔涖傛瘮濡傛湁涓棰橈細緇欏嚭n錛岃姹傛壘鍑轟竴涓猲*n鐨勬柟闃碉紝鍏朵腑姣忎釜鍏冪礌閮芥槸1鍒皀涔嬮棿鐨勬暣鏁幫紝騫朵笖涓や袱涓嶇瓑錛屽悓鏃朵嬌寰楁瘡琛屻佹瘡鍒楄繕鏈変袱涓瑙掔嚎鐨勫拰涓や袱涓嶇瓑銆傝繖棰樼殑鏋勯犻涓虹箒鐞愶紝鏈綆鍗曠殑鏂規(guī)硶鏄洿鎺ラ殢鏈虹敓鎴愬啀鍒ゅ畾鏄惁鍏鋒湁榪欎釜鎬ц川銆?br>
榪戝勾鏉ュ嚑涔庢瘡騫寸殑final閮芥湁涓閬撹冨療閫夋墜寰Н鍒嗚兘鍔涚殑棰樼洰銆傝屽井鍒嗘柟紼嬬被棰樼洰杈冨皯銆?br>
澶у瀷綰挎ф柟紼嬬粍銆佸鏉傜殑鐭╅樀浠f暟銆佸拰鐗瑰緛鍊兼眰瑙f柟闈㈢殑棰樼洰杈冨皯銆?br>
綆楁硶鐨勬柊棰樺瀷
綆楁硶鏂歸潰鐨勫寮轟富瑕佷綋鐜板湪鏂扮殑鏁版嵁緇撴瀯涓嶆柇琚夋墜鎵鐔熸?zhèn)夊Q屽拰涓浜涙柊棰嗗煙鐨勯鐩嚭鐜板湪ACM ICPC涓?br>
鏁版嵁緇撴瀯鏂歸潰錛屼竴浜涚壒孌婃ц川鐨勫鉤琛℃爲閫愭笎琚ぇ瀹舵帉鎻★紝濡俿play tree錛宭eftist tree絳夌瓑銆侷nterval tree鍒欒騫挎硾鐢ㄤ簬璁℃暟銆傚瓧絎︿覆鏂歸潰錛岃緝瀹規(guī)槗瀹炵幇鐨勫悗緙鏍戠粍涔熼愭笎琚帴鍙椼?br>
涓浜涚畻娉曪細緗戠粶嫻佹柟闈紝涓嶅皯閫夋墜寮濮嬫帉鎻ush-relabel綆楁硶鑰屾斁寮冧簡緇忓吀鐨刦ord-fulkerson綆楁硶錛涘垬姹濅匠鐨勪功騫夸負浼犻槄鍚庯紝涓嶅皯閫夋墜鍙堟帉鎻′簡fractional programming鍜宒inkelbach綆楁硶銆傜洰鍓嶈兘鐔熺粌瀹炵幇l(fā)inear programming鐨勯夋墜杈冨皯錛屼絾鍙互棰勮榪囦竴孌墊椂闂磋繖涔熶細鎴愪負蹇呭鐨勬妧鑳姐?br>
璁$畻鍑犱綍涓鐩存槸ACM ICPC閲岄潰鐨勯毦棰樸備笉浠呯紪紼嬪洶闅撅紝鏇寸敱浜庣簿搴﹂棶棰樺鑷撮潪甯擱毦鍋氬銆傝綆楀嚑浣曞線寰鏄湪姣旇禌鏃惰鏀懼純鐨勯鐩傚嵆浣跨畻娉曞茍涓嶉潪甯擱毦錛岄夋墜涔熶笉鏁㈤殢鎰忓幓鍋氥?br>
涓浜涢浂鏁g殑緇忓吀鍐呭涔熻鎷垮嚭鏉ヨ冨療錛屽stable marriage錛宖ft絳夈?br>
鎬葷粨鍜屼竴浜涢璁?br>
鍩烘湰涓婏紝瀹炵幇璧鋒潵涓嶇畻澶鏉傜殑澶氶」寮忔椂闂村鏉傚害鐨勭畻娉曢兘鍙互鍑烘垚涓閬揂CM ICPC鐨勯鐩傝屽嚭棰樿呯煡璇嗛潰鐨勪笉鍋滃闀匡紝涔熶嬌寰楄秺鏉ヨ秺澶氳繖鏍風殑綆楁硶琚寘鎷傚彟涓鏂歸潰錛岄殢鐫綆楁硶鐨勫彂灞曪紝涓浜涘師鏈病鏈夌畝鍗曠畻娉曠殑棰樼洰涔熷嚭鐜頒簡鏂扮殑瑙f硶錛岃繖鏍風殑棰樼洰涔熻鍔犲叆鍒癆CM ICPC涓侫CM ICPC緇忚繃澶氬勾鐨勭Н绱湁鐫澶ч噺鐨勯鐩紝鍏惰鐩栭潰涔熸槸闈炲父涔嬪箍銆?br>
鍙互棰勮涓浜涙柊鐨勪紭縐鐨勭畻娉曞皢闄嗙畫鍑虹幇鍦ˋCM ICPC涓傛瘮濡傜敱浜庝換鎰忓浘鍖歸厤鐨凟dmonds-Carp綆楁硶瀹炵幇璧鋒潵闈炲父綣佺悙錛屼嬌寰桰CPC涓竴鐩翠笉鍑虹幇浠繪剰鍥懼尮閰嶇殑棰樼洰錛堝嵆浣挎湁涔熸槸瑙勬ā闈炲父灝忥級銆傝孷ijay Vazirani鐨勮鏂?/span><<matching is as easy as matrix inversion>>涓粰鍑轟簡涓縐嶉氱敤鐨勯氳繃鐭╅樀姹傞嗚屾眰鍚勭鍖歸厤鐨勭畻娉曪紝铏界劧璇ョ畻娉曞疄鐜拌搗鏉ユ湁涓涓毦鐐癸紝浣嗙浉淇″皢浼氳涓浜涢夋墜閲囩敤錛屼粠鑰屽嚭鐜頒竴浜涗換鎰忓浘鍖歸厤鐨勯鐩紝鐢氳嚦鏇村洶闅劇殑exact match錛堣闂鐩墠娌℃湁deterministic polynomial-time algorithm錛屼絾鐢ㄤ笂闈㈢殑鏂規(guī)硶鍙互寰楀嚭涓涓鐜囩畻娉曪級銆?br>
鑰屼竴浜涙柊鐨勯鍩熶篃蹇呭皢緇橝CM ICPC鐨勫嚭棰樿呭甫鏉ョ伒鎰熴備緥濡傚凡鏈夎秺鏉ヨ秺澶欱io-informatics鐨勯鐩湪ICPC涓嚭鐜般備竴浜涙湁鐫澶氶」寮忕畻娉曠殑濂介鐩紝濡俰nversion distance of signed permutations錛屽垯鐢變簬鍏剁悊璁虹殑澶嶆潅鑰屽皻鏈嚭鐜板湪棰樼洰涓?br>
鍥捐涓繕鏈夋暟涓嶈儨鏁扮殑濂界殑棰樼洰錛屾瘮濡俵inear time姹俶inimum cut錛岃繕鏈塆omory-Hu tree鐨勫簲鐢紝榪欎簺涔熷繀灝嗗湪涓嶄箙鐨勫皢鏉ュ嚭鐜板湪ICPC棰樼洰涓?br>
鎴戣涓哄皢鍙戠敓鐨勫彟涓涓秼鍔挎槸錛岄殢鏈虹畻娉曪紝姒傜巼綆楁硶鍜岃繎浼肩畻娉曚細鍦ˋCM ICPC涓崰鏇村ぇ鐨勬瘮閲嶏紝鑷充簬瀵逛簬綆楁硶鑳藉姏鍜屼唬鐮佽兘鍔涜冮獙鐨勫鉤琛★紝鎴戜釜浜洪潪甯稿枩嬈㈡暟瀛﹀拰綆楁硶錛屾垜甯屾湜Final鐨勯鐩兘鍚戜腑嬈ц禌鍖虹殑棰樼洰闈犳嫝銆?br>
ACM ICPC鑰冨療鐨勪笉浠呬粎鏄緇忓吀綆楁硶鐨勭悊瑙e拰鎺屾彙錛屽垱閫犵畻娉曠殑鑳藉姏鍚屾牱闈炲父閲嶈銆傚閭d箞澶氱畻娉曪紝蹇呴』浠庝腑鏈夋墍棰嗘?zhèn)熷Q屾墠鑳藉湪璧涘満涓婃湁鐏墊劅鍘昏В鍐沖疄闄呯殑闂銆?br>
濡傛灉澶у鏈夊叴瓚g殑璇濇垜鍙互鎵懼嚑涓叿浣撶殑闂璇︾粏鍒嗘瀽錛屾垨鏄璁轟竴浜涘叿浣撶殑綆楁硶鐞嗚銆傚悓鏍風殑鎴戜篃涔愭剰鍒嗕韓涓浜汚CM璧涘満涓婄殑緇忛獙錛屽拰鍦ㄥ悇澶х畻娉曟瘮璧涗腑璁よ瘑鐨勪竴浜涙湁瓚g殑浜猴紝鍜岀粡鍘嗚繃鐨勪竴浜涙湁瓚g殑浜嬨傚寙鍖嗗啓瀹屾鏂囷紝鐤忔紡涔嬪鍦ㄦ墍闅懼厤錛岄昏緫涓婁篃涓嶇敋榪炶瘡錛屽笇鏈涘ぇ瀹惰璋呫?nbsp;
T(n)=c1T(n-1)+c2T(n-2)+…+ ckT(n-k)+f(n)錛宯≥k (6.18)
鐨勯掑綊鏂圭▼銆傚叾涓璫i (i=l錛?錛?#8230;錛宬)涓哄疄甯告暟錛屼笖ck≠0銆傚畠鍙敼鍐欎負涓涓嚎鎬у父緋繪暟k闃墮潪榻愭鐨勫樊鍒嗘柟紼嬶細
T(n)-c1T(n-1)- c2T(n-2)-…-ckT(n-k)=f(n)錛宯≥k (6.19)
(6.19)涓庣嚎鎬у父緋繪暟k闃墮潪榻愭甯稿井鍒嗘柟紼嬬殑緇撴瀯鍗佸垎鐩鎬技錛屽洜鑰岃В娉曠被鍚屻傞檺浜庣瘒騫咃紝榪欓噷鐩存帴緇欏嚭(6.19)鐨勮В娉曪紝鐣ュ幓鍏舵紜х殑璇佹槑銆?/p>
絎竴姝ワ紝姹?6.19)鎵瀵瑰簲鐨勯綈嬈℃柟紼嬶細
T(n)-c1T(n-1)- c2T(n-2)-…-ckT(n-k)=0 (6.20)
鐨勫熀鏈В緋伙細鍐欏嚭(6.20)鐨勭壒寰佹柟紼嬶細
C(t)=tk-c1tk-1-c2tk-2 -…-ck=0 (6.21)
鑻=r鏄?6.21)鐨刴閲嶅疄鏍癸紝鍒欏緱(6.20)鐨刴涓熀紜瑙n錛宯rn錛宯2rn錛?#8230;錛宯m-1rn錛涜嫢ρeiθ鍜?#961;e-iθ鏄?6.21)鐨勪竴瀵筶閲嶇殑鍏辨壖澶嶆牴錛屽垯寰?6.20)鐨?l涓熀紜瑙?#961;ncosnθ錛?#961;nsinnθ錛宯ρncosnθ錛宯ρnsinnθ錛?#8230;錛宯l-1ρncosnθ錛宯l-1ρncosnθ銆傚姝わ紝姹傚嚭(6.21)鐨勬墍鏈夌殑鏍癸紝灝卞彲浠ュ緱鍒?6.20)鐨刱涓殑鍩虹瑙c傝屼笖錛岃繖k涓熀紜瑙f瀯鎴愪簡(6.20)鐨勫熀紜瑙g郴銆傚嵆(6.20)鐨勪換鎰忎竴涓В閮藉彲浠ヨ〃紺烘垚榪檏涓熀紜瑙g殑綰挎х粍鍚堛?/p>
絎簩姝ワ紝姹?6.19)鐨勪竴涓壒瑙c傜悊璁轟笂錛?6.19)鐨勭壒瑙e彲浠ョ敤Lagrange甯告暟鍙樻槗娉曞緱鍒般備絾鍏朵腑瑕佺敤鍒?6.20)鐨勯氳В鐨勬樉寮忚〃杈撅紝鍗?6.20)鐨勫熀紜瑙g郴鐨勭嚎鎬х粍鍚堬紝鍗佸垎楹葷儲銆傚洜姝ゅ湪瀹為檯涓紝甯稿父閲囩敤璇曟帰娉曪紝涔熷氨鏄牴鎹甪(n)鐨勭壒鐐規(guī)帹嫻嬬壒瑙g殑褰㈠紡錛岀暀涓嬭嫢騫插彲璋冪殑甯告暟錛屽皢鎺ㄦ祴瑙d唬浜?6.19)鍚庣‘瀹氥傜敱浜?6.19)鐨勭壒孌婃э紝鍙互鍒╃敤榪姞鍘熺悊錛屽皢f(n)綰挎у垎瑙d負鑻ュ共涓崟欏逛箣鍜屽茍姹傚嚭鍚勫崟欏圭浉搴旂殑鐗硅В錛岀劧鍚庤凱鍔犱究寰楀埌f(n)鐩稿簲鐨勭壒瑙c傝繖浣垮緱璇曟帰娉曟洿涓烘湁鏁堛備負浜嗘柟渚匡紝榪欓噷瀵逛笁縐嶇壒孌婂艦寮忕殑f(n)錛岀粰鍑?6.19)鐨勭浉搴旂壒瑙e茍鍒楀湪琛?-1涓紝鍙緵鐩存帴濂楃敤銆傚叾涓璸i錛宨=1,2,…,s鏄緟瀹氬父鏁般?/p>
琛?-1 鏂圭▼(6.19)鐨勫父鐢ㄧ壒瑙e艦寮?/p>
f(n)鐨勫艦寮?nbsp; 鏉?nbsp; 浠?nbsp; 鏂圭▼(6.19)鐨勭壒瑙g殑褰㈠紡
{姝ゅ鏃犳硶姝e父鏄劇ず錛岃鐪嬪師鏂囥倉
絎笁姝ワ紝鍐欏嚭(6.19)鍗?6.18)鐨勯氳В
(6.22)
鍏朵腑{Ti(n)錛宨=0,1,2,…,n}鏄?6.20)鐨勫熀紜瑙g郴錛実(n)鏄?6.19)鐨勪竴涓壒瑙c傜劧鍚庣敱(6.18)鐨勫垵濮嬫潯浠?/p>
T(i)=Ti 錛宨=1,2,…,k-1
鏉ョ‘瀹?6.22)涓殑寰呭畾鐨勭粍鍚堝父鏁皗ai}錛屽嵆渚濋潬綰挎ф柟紼嬬粍
鎴?/p>
瑙e嚭{ai}錛屽茍浠e洖(6.22)銆傚叾涓?#946;j=Tj-g(j)錛宩=0,1,2,…,k-1銆?/p>
絎洓姝ワ紝浼拌(6.22)鐨勬笎榪戦樁錛屽嵆涓烘墍瑕佹眰銆?/p>
涓嬮潰鐢ㄤ袱涓緥瀛愬姞浠ヨ鏄庛?/p>
渚媗 鑰冭檻閫掑綊鏂圭▼
瀹冪殑鐩稿簲鐗瑰緛鏂圭▼涓猴細
C(t)=t2-t-1=0
瑙d箣寰椾袱涓崟鏍瑰拰銆傜浉搴旂殑(6.20)鐨勫熀紜瑙g郴涓簕r0n錛宺1n}銆傜浉搴旂殑(6.19)鐨勪竴涓壒瑙d負F*(n)=-8錛屽洜鑰岀浉搴旂殑(6.19)鐨勯氳В涓猴細
F(n)=a0r0n +a1r1n- 8
浠ゅ叾婊¤凍鍒濆鏉′歡錛屽緱浜岄樁綰挎ф柟紼嬬粍錛?/p>
鎴?/p>
鎴?/p>
瑙d箣寰楋紝錛屼粠鑰?/p>
浜庢槸
銆?/p>
渚? 鑰冭檻閫掑綊鏂圭▼
T(n)=4T(n-1)-4T(n-2)+2nn (6.23)
鍜屽垵濮嬫潯浠禩(0)=0錛孴(1)=4/3銆?/p>
瀹冨搴旂殑鐗瑰緛鏂圭▼(6.21)涓?/p>
C(t)=t2-4t+4=0
鏈変竴涓袱閲嶆牴r =2銆傛晠鐩稿簲鐨?6.20)鐨勫熀紜瑙g郴涓簕2n錛?nn}銆傜敱浜巉(n)=2nn錛屽埄鐢ㄨ〃6-1錛岀浉搴旂殑(6.19)鐨勪竴涓壒瑙d負
T*(n)=n2(p0+p1n)2n錛?/p>
浠d漢(6.23)錛屽畾鍑簆0=1/2錛宲1=1/6銆傚洜姝ょ浉搴旂殑(6.19)鐨勯氳В涓猴細
T(n)=a02n+a1n2n+n2(1/2+n/6)2n錛?/p>
浠ゅ叾婊¤凍鍒濆鏉′歡寰梐0=a1=0錛屼粠鑰?/p>
T(n)=n2(1/2+n/6)2n
浜庢槸T(n)=θ(n32n)銆?/p>
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/explore_knight/archive/2007/09/17/1788046.aspx
鎽樿
鏈枃浠嬬粛浜嗙畻娉曠殑澶嶆潅鎬х殑姒傚康鍜岃 閲忔柟娉曪紝騫舵彁渚涗簡涓浜涜綆楃畻娉曠殑澶嶆潅鎬х殑娓愯繎闃剁殑鏂規(guī)硶銆?/p>
鐩綍
(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094錛?/font>
鍒濇湡:
涓.鍩烘湰綆楁硶:
(1)鏋氫婦. (poj1753,poj2965)
(2)璐績(poj1328,poj2109,poj2586)
(3)閫掑綊鍜屽垎娌繪硶.
(4)閫掓帹.
(5)鏋勯犳硶.(poj3295)
(6)妯℃嫙娉?(poj1068,poj2632,poj1573,poj2993,poj2996)
浜?鍥劇畻娉?
(1)鍥劇殑娣卞害浼樺厛閬嶅巻鍜屽箍搴︿紭鍏堥亶鍘?
(2)鏈鐭礬寰勭畻娉?dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3)鏈灝忕敓鎴愭爲綆楁硶(prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4)鎷撴墤鎺掑簭 (poj1094)
(5)浜屽垎鍥劇殑鏈澶у尮閰?(鍖堢墮鍒╃畻娉? (poj3041,poj3020)
(6)鏈澶ф祦鐨勫騫胯礬綆楁硶(KM綆楁硶). (poj1459,poj3436)
涓?鏁版嵁緇撴瀯.
(1)涓?(poj1035,poj3080,poj1936)
(2)鎺掑簭(蹇帓銆佸綊騫舵帓(涓庨嗗簭鏁版湁鍏?銆佸爢鎺? (poj2388,poj2299)
(3)綆鍗曞茍鏌ラ泦鐨勫簲鐢?
(4)鍝堝笇琛ㄥ拰浜屽垎鏌ユ壘絳夐珮鏁堟煡鎵炬硶(鏁扮殑Hash,涓茬殑Hash)
(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)鍝堝か鏇兼爲(poj3253)
(6)鍫?nbsp;
(7)trie鏍?闈欐佸緩鏍戙佸姩鎬佸緩鏍? (poj2513)
鍥?綆鍗曟悳绱?nbsp;
(1)娣卞害浼樺厛鎼滅儲 (poj2488,poj3083,poj3009,poj1321,poj2251)
(2)騫垮害浼樺厛鎼滅儲(poj3278,poj1426,poj3126,poj3087.poj3414)
(3)綆鍗曟悳绱㈡妧宸у拰鍓灊(poj2531,poj1416,poj2676,1129)
浜?鍔ㄦ佽鍒?nbsp;
(1)鑳屽寘闂. (poj1837,poj1276)
(2)鍨嬪涓嬭〃鐨勭畝鍗旸P(鍙弬鑰僱rj鐨勪功 page149):
1.E[j]=opt{D+w(i,j)} (poj3267,poj1836,poj1260,poj2533)
2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (鏈闀垮叕鍏卞瓙搴忓垪)
(poj3176,poj1080,poj1159)
3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(鏈浼樹簩鍒嗘绱㈡爲闂)
鍏?鏁板
(1)緇勫悎鏁板:
1.鍔犳硶鍘熺悊鍜屼箻娉曞師鐞?
2.鎺掑垪緇勫悎.
3.閫掓帹鍏崇郴.
(POJ3252,poj1850,poj1019,poj1942)
(2)鏁拌.
1.绱犳暟涓庢暣闄ら棶棰?nbsp;
2.榪涘埗浣?
3.鍚屼綑妯¤繍綆?
(poj2635, poj3292,poj1845,poj2115)
(3)璁$畻鏂規(guī)硶.
1.浜屽垎娉曟眰瑙e崟璋冨嚱鏁扮浉鍏崇煡璇?(poj3273,poj3258,poj1905,poj3122)
涓?璁$畻鍑犱綍瀛?
(1)鍑犱綍鍏紡.
(2)鍙夌Н鍜岀偣縐殑榪愮敤(濡傜嚎孌電浉浜ょ殑鍒ゅ畾,鐐瑰埌綰挎鐨勮窛紱葷瓑). (poj2031,poj1039)
(3)澶氳竟鍨嬬殑綆鍗曠畻娉?姹傞潰縐?鍜岀浉鍏沖垽瀹?鐐瑰湪澶氳竟鍨嬪唴,澶氳竟鍨嬫槸鍚︾浉浜?
(poj1408,poj1584)
(4)鍑稿寘. (poj2187,poj1113)
涓駭:
涓.鍩烘湰綆楁硶:
(1)C++鐨勬爣鍑嗘ā鐗堝簱鐨勫簲鐢? (poj3096,poj3007)
(2)杈冧負澶嶆潅鐨勬ā鎷熼鐨勮緇?poj3393,poj1472,poj3371,poj1027,poj2706)
浜?鍥劇畻娉?
(1)宸垎綰︽潫緋葷粺鐨勫緩绔嬪拰姹傝В. (poj1201,poj2983)
(2)鏈灝忚垂鐢ㄦ渶澶ф祦(poj2516,poj2516,poj2195)
(3)鍙岃繛閫氬垎閲?poj2942)
(4)寮鴻繛閫氬垎鏀強鍏剁緝鐐?(poj2186)
(5)鍥劇殑鍓茶竟鍜屽壊鐐?poj3352)
(6)鏈灝忓壊妯″瀷銆佺綉緇滄祦瑙勭害(poj3308, )
涓?鏁版嵁緇撴瀯.
(1)綰挎鏍? (poj2528,poj2828,poj2777,poj2886,poj2750)
(2)闈欐佷簩鍙夋绱㈡爲. (poj2482,poj2352)
(3)鏍戠姸鏍戠粍(poj1195,poj3321)
(4)RMQ. (poj3264,poj3368)
(5)騫舵煡闆嗙殑楂樼駭搴旂敤. (poj1703,2492)
(6)KMP綆楁硶. (poj1961,poj2406)
鍥?鎼滅儲
(1)鏈浼樺寲鍓灊鍜屽彲琛屾у壀鏋?nbsp;
(2)鎼滅儲鐨勬妧宸у拰浼樺寲 (poj3411,poj1724)
(3)璁板繂鍖栨悳绱?poj3373,poj1691)
浜?鍔ㄦ佽鍒?nbsp;
(1)杈冧負澶嶆潅鐨勫姩鎬佽鍒?濡傚姩鎬佽鍒掕В鐗瑰埆鐨勬柦琛屽晢闂絳?
(poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)
(2)璁板綍鐘舵佺殑鍔ㄦ佽鍒? (POJ3254,poj2411,poj1185)
(3)鏍戝瀷鍔ㄦ佽鍒?poj2057,poj1947,poj2486,poj3140)
鍏?鏁板
(1)緇勫悎鏁板:
1.瀹規(guī)枼鍘熺悊.
2.鎶藉眽鍘熺悊.
3.緗崲緹や笌Polya瀹氱悊(poj1286,poj2409,poj3270,poj1026).
4.閫掓帹鍏崇郴鍜屾瘝鍑芥暟.
(2)鏁板.
1.楂樻柉娑堝厓娉?poj2947,poj1487, poj2065,poj1166,poj1222)
2.姒傜巼闂. (poj3071,poj3440)
3.GCD銆佹墿灞曠殑嬈у嚑閲屽痙(涓浗鍓╀綑瀹氱悊) (poj3101)
(3)璁$畻鏂規(guī)硶.
1.0/1鍒嗘暟瑙勫垝. (poj2976)
2.涓夊垎娉曟眰瑙e崟宄?鍗曡胺)鐨勬瀬鍊?
3.鐭╅樀娉?poj3150,poj3422,poj3070)
4.榪唬閫艱繎(poj3301)
(4)闅忔満鍖栫畻娉?poj3318,poj2454)
(5)鏉傞.
(poj1870,poj3296,poj3286,poj1095)
涓?璁$畻鍑犱綍瀛?
(1)鍧愭爣紱繪暎鍖?
(2)鎵弿綰跨畻娉?渚嬪姹傜煩褰㈢殑闈㈢Н鍜屽懆闀垮茍,甯稿拰綰挎鏍戞垨鍫嗕竴璧蜂嬌鐢?.
(poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)
(3)澶氳竟褰㈢殑鍐呮牳(鍗婂鉤闈氦)(poj3130,poj3335)
(4)鍑犱綍宸ュ叿鐨勭患鍚堝簲鐢?(poj1819,poj1066,poj2043,poj3227,poj2165,poj3429)
楂樼駭:
涓.鍩烘湰綆楁硶瑕佹眰:
(1)浠g爜蹇熷啓鎴?綺劇畝浣嗕笉澶遍鏍?nbsp;
(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
(2)淇濊瘉姝g‘鎬у拰楂樻晥鎬? poj3434
浜?鍥劇畻娉?
(1)搴﹂檺鍒舵渶灝忕敓鎴愭爲鍜岀K鏈鐭礬. (poj1639)
(2)鏈鐭礬,鏈灝忕敓鎴愭爲,浜屽垎鍥?鏈澶ф祦闂鐨勭浉鍏崇悊璁?涓昏鏄ā鍨嬪緩绔嬪拰姹傝В)
(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
(3)鏈浼樻瘮鐜囩敓鎴愭爲. (poj2728)
(4)鏈灝忔爲褰㈠浘(poj3164)
(5)嬈″皬鐢熸垚鏍?
(6)鏃犲悜鍥俱佹湁鍚戝浘鐨勬渶灝忕幆
涓?鏁版嵁緇撴瀯.
(1)trie鍥劇殑寤虹珛鍜屽簲鐢? (poj2778)
(2)LCA鍜孯MQ闂(LCA(鏈榪戝叕鍏辯鍏堥棶棰? 鏈夌綰跨畻娉?騫舵煡闆?dfs) 鍜?鍦ㄧ嚎綆楁硶
(RMQ+dfs)).(poj1330)
(3)鍙岀闃熷垪鍜屽畠鐨勫簲鐢?緇存姢涓涓崟璋冪殑闃熷垪,甯稿父鍦ㄥ姩鎬佽鍒掍腑璧峰埌浼樺寲鐘舵佽漿縐葷殑
鐩殑). (poj2823)
(4)宸﹀亸鏍?鍙悎騫跺爢).
(5)鍚庣紑鏍?闈炲父鏈夌敤鐨勬暟鎹粨鏋?涔熸槸璧涘尯鑰冮鐨勭儹鐐?.
(poj3415,poj3294)
鍥?鎼滅儲
(1)杈冮夯鐑︾殑鎼滅儲棰樼洰璁粌(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
(2)騫挎悳鐨勭姸鎬佷紭鍖?鍒╃敤M榪涘埗鏁板瓨鍌ㄧ姸鎬併佽漿鍖栦負涓茬敤hash琛ㄥ垽閲嶃佹寜浣嶅帇緙╁瓨鍌ㄧ姸鎬併佸弻鍚戝箍鎼溿丄*綆楁硶. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
(3)娣辨悳鐨勪紭鍖?灝介噺鐢ㄤ綅榪愮畻銆佷竴瀹氳鍔犲壀鏋濄佸嚱鏁板弬鏁板敖鍙兘灝戙佸眰鏁頒笉鏄撹繃澶с佸彲浠ヨ冭檻鍙屽悜鎼滅儲鎴栬呮槸杞崲鎼滅儲銆両DA*綆楁硶. (poj3131,poj2870,poj2286)
浜?鍔ㄦ佽鍒?nbsp;
(1)闇瑕佺敤鏁版嵁緇撴瀯浼樺寲鐨勫姩鎬佽鍒?
(poj2754,poj3378,poj3017)
(2)鍥涜竟褰笉絳夊紡鐞嗚.
(3)杈冮毦鐨勭姸鎬丏P(poj3133)
鍏?鏁板
(1)緇勫悎鏁板.
1.MoBius鍙嶆紨(poj2888,poj2154)
2.鍋忓簭鍏崇郴鐞嗚.
(2)鍗氬璁?
1.鏋佸ぇ鏋佸皬榪囩▼(poj3317,poj1085)
2.Nim闂.
涓?璁$畻鍑犱綍瀛?
(1)鍗婂鉤闈㈡眰浜?poj3384,poj2540)
(2)鍙鍥劇殑寤虹珛(poj2966)
(3)鐐歸泦鏈灝忓渾瑕嗙洊.
(4)瀵硅傅鐐?poj2079)
鍏?緇煎悎棰?
(poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263)
Dp鐘舵佽璁′笌鏂圭▼鎬葷粨
1.涓嶅畬鍏ㄧ姸鎬佽褰?/p>
<1>闈掕洐榪囨渤闂
<2>鍒╃敤鍖洪棿dp
2.鑳屽寘綾婚棶棰?/p>
<1> 0-1鑳屽寘錛岀粡鍏擱棶棰?/p>
<2>鏃犻檺鑳屽寘錛岀粡鍏擱棶棰?/p>
<3>鍒ゅ畾鎬ц儗鍖呴棶棰?/p>
<4>甯﹂檮灞炲叧緋葷殑鑳屽寘闂
<5> + -1鑳屽寘闂
<6>鍙岃儗鍖呮眰鏈浼樺?/p>
<7>鏋勯犱笁瑙掑艦闂
<8>甯︿笂涓嬬晫闄愬埗鐨勮儗鍖呴棶棰?012鑳屽寘)
3.綰挎х殑鍔ㄦ佽鍒掗棶棰?/p>
<1>縐湪娓告垙闂
<2>鍐蟲枟錛堝垽瀹氭ч棶棰橈級
<3>鍦嗙殑鏈澶у杈瑰艦闂
<4>緇熻鍗曡瘝涓暟闂
<5>媯嬬洏鍒嗗壊
<6>鏃ョ▼瀹夋帓闂
<7>鏈灝忛艱繎闂(姹傚嚭涓ゆ暟涔嬫瘮鏈鎺ヨ繎鏌愭暟/涓ゆ暟涔嬪拰絳変簬鏌愭暟絳夌瓑)
<8>鏂瑰潡娑堥櫎娓告垙(鏌愬尯闂村彲浠ヨ繛緇秷鍘繪眰鏈澶ф晥鐩?
<9>璧勬簮鍒嗛厤闂
<10>鏁板瓧涓夎褰㈤棶棰?/p>
<11>婕備寒鐨勬墦鍗?/p>
<12>閭眬闂涓庢瀯閫犵瓟妗?/p>
<13>鏈楂樼Н鏈ㄩ棶棰?/p>
<14>涓ゆ榪炵畫鍜屾渶澶?/p>
<15>2嬈″箓鍜岄棶棰?/p>
<16>N涓暟鐨勬渶澶孌靛瓙孌靛拰
<17>浜ゅ弶鏈澶ф暟闂
4.鍒ゅ畾鎬ч棶棰樼殑dp(濡傚垽瀹氭暣闄ゃ佸垽瀹氬彲杈炬х瓑)
<1>妯闂鐨刣p
<2>鐗規(guī)畩鐨勬āK闂錛屾眰鏈澶?鏈灝?妯鐨勬暟
<3>鍙樻崲鏁伴棶棰?/p>
5.鍗曡皟鎬т紭鍖栫殑鍔ㄦ佽鍒?/p>
<1>1-SUM闂
<2>2-SUM闂
<3>搴忓垪鍒掑垎闂(鍗曡皟闃熷垪浼樺寲)
6.鍓栧垎闂(澶氳竟褰㈠墫鍒?鐭沖瓙鍚堝茍/鍦嗙殑鍓栧垎/涔樼Н鏈澶?
<1>鍑稿杈瑰艦鐨勪笁瑙掑墫鍒嗛棶棰?/p>
<2>涔樼Н鏈澶ч棶棰?/p>
<3>澶氳竟褰㈡父鎴?澶氳竟褰㈣竟涓婃槸鎿嶄綔絎?欏剁偣鏈夋潈鍊?
<4>鐭沖瓙鍚堝茍(N^3/N^2/NLogN鍚勭浼樺寲)
7.璐績鐨勫姩鎬佽鍒?/p>
<1>鏈浼樿杞介棶棰?/p>
<2>閮ㄥ垎鑳屽寘闂
<3>涔樿埞闂
<4>璐績絳栫暐
<5>鍙屾満璋冨害闂Johnson綆楁硶
8.鐘舵乨p
<1>鐗涗粩灝勫嚮闂(鍗氬紙綾?
<2>鍝堝瘑欏胯礬寰勭殑鐘舵乨p
<3>涓ゆ敮鐐瑰ぉ騫沖鉤琛¢棶棰?/p>
<4>涓涓湁鍚戝浘鐨勬渶鎺ヨ繎浜岄儴鍥?/p>
9.鏍戝瀷dp
<1>瀹岀編鏈嶅姟鍣ㄩ棶棰?姣忎釜鑺傜偣鏈?縐嶇姸鎬?
<2>灝忚儢瀹堢殗瀹棶棰?/p>
<3>緗戠粶鏀惰垂闂
<4>鏍戜腑婕父闂
<5>鏍戜笂鐨勫崥寮?/p>
<6>鏍戠殑鏈澶х嫭绔嬮泦闂
<7>鏍戠殑鏈澶у鉤琛″奸棶棰?/p>
<8>鏋勯犳爲鐨勬渶灝忕幆
涓鑸鍋氬埌50琛屼互鍐呯殑紼嬪簭涓嶇敤璋冭瘯銆?00琛屼互鍐呯殑浜屽垎閽熷唴璋冭瘯鎴?br>
鍔?acm涓昏鏄冪畻娉曠殑
錛屼富瑕佹椂闂存槸鑺卞湪鎬濊冪畻娉曚笂錛屼笉鏄姳鍦ㄥ啓紼嬪簭涓巇ebug涓娿?nbsp;
涓嬮潰緇欎釜璁″垝浣犵粌緇冿細 
絎竴闃舵錛?nbsp;
緇冪粡鍏稿父鐢ㄧ畻娉曪紝涓嬮潰鐨勬瘡涓畻娉曠粰鎴戞墦涓婂崄鍒頒簩鍗侀亶錛屽悓鏃?br>
鑷繁綺劇畝浠g爜錛?nbsp;
鍥犱負澶父鐢紝鎵浠ヨ緇冨埌鍐欐椂涓嶇敤鎯籌紝10-15鍒嗛挓鍐呮墦瀹岋紝鐢氳嚦鍏蟲帀
鏄劇ず鍣ㄩ兘鍙互鎶婄▼搴忔墦
鍑烘潵.
1.鏈鐭礬(Floyd銆丏ijstra,BellmanFord)
2.鏈灝忕敓鎴愭爲(鍏堝啓涓猵rim,kruscal瑕佺敤騫舵煡闆嗭紝涓嶅ソ鍐?
3.澶ф暟錛堥珮綺懼害錛夊姞鍑忎箻闄?nbsp;
4.浜屽垎鏌ユ壘. (浠g爜鍙湪浜旇浠ュ唴)
5.鍙変箻銆佸垽綰挎鐩鎬氦銆佺劧鍚庡啓涓嚫鍖?
6.BFS銆丏FS,鍚屾椂鐔熺粌hash琛?瑕佺啛錛岃鐏墊椿,浠g爜瑕佺畝)
7.鏁板涓婄殑鏈夛細杈楄漿鐩擱櫎錛堜袱琛屽唴錛夛紝綰挎浜ょ偣銆佸瑙掑艦闈㈢Н鍏紡.
8. 璋冪敤緋葷粺鐨剄sort, 鎶宸у緢澶氾紝鎱㈡參鎺屾彙.
9. 浠繪剰榪涘埗闂寸殑杞崲 

絎簩闃舵錛?nbsp;
緇冧範澶嶆潅涓鐐癸紝浣嗕篃杈冨父鐢ㄧ殑綆楁硶銆?nbsp;
濡傦細
1. 浜屽垎鍥懼尮閰嶏紙鍖堢墮鍒╋級錛屾渶灝忚礬寰勮鐩?nbsp;
2. 緗戠粶嫻侊紝鏈灝忚垂鐢ㄦ祦銆?nbsp;
3. 綰挎鏍?
4. 騫舵煡闆嗐?nbsp;
5. 鐔熸?zhèn)夊姩鎬佽鍒掔殑鍚勪釜鍏稿瀷錛歀CS銆佹渶闀塊掑瀛愪覆銆佷笁瑙掑墫鍒嗐佽
蹇嗗寲dp
6.鍗氬紙綾葷畻娉曘傚崥寮堟爲錛屼簩榪涘埗娉曠瓑銆?nbsp;
7.鏈澶у洟錛屾渶澶х嫭绔嬮泦銆?nbsp;
8.鍒ゆ柇鐐瑰湪澶氳竟褰㈠唴銆?nbsp;
9. 宸垎綰︽潫緋葷粺.
10. 鍙屽悜騫垮害鎼滅儲銆丄*綆楁硶錛屾渶灝忚楁暎浼樺厛. 

絎笁闃舵錛?nbsp;
鍓嶄袱涓樁孌墊槸鎵撳熀紜錛岀涓夐樁孌墊槸閿葷偧鍦ㄦ瘮璧涗腑鍙互蹇熷緩绔?br>
妯″瀷銆佹兂鏂扮畻娉?nbsp;
銆傝繖灝辮騫蟲椂澶氬仛鍋氱患鍚堢殑棰樺瀷浜嗐?nbsp;
1. 鎶妎ibh涓婄殑璁烘枃鐪嬬湅錛堝ぇ姒傚嚑鐧劇瘒鐨勶紝鎴戝彧鐪嬩簡涓鐐圭偣錛屽懙鍛碉級
銆?nbsp;
2. 騫蟲椂鎵壂zoj涓婄殑闅鵑鍟︼紝鍒佸仛閭d簺涓嶇敤鎯崇殑棰?(涓ぇacm鐨勭増
涓葷粡甯歌鎴戞寫綆鍗曠殑鏉?nbsp;
鍋?-P )
3. 澶氬弬鍔犵綉涓婄殑姣旇禌錛屾劅鍙椾竴涓嬫瘮璧涚殑姘旀皼錛岃瘎浼拌嚜宸辯殑瀹炲姏.
4. 涓閬撻涓嶈榪囦簡灝辯畻錛岄棶涓涓嬩漢錛屾湁鏇村ソ鐨勭畻娉曚篃鎵撲竴涓嬨?nbsp;
#include<iostream>
#include<stdio.h>
using namespace std;
float a,sum=0;
int b;
int main()

{for(int i=0;i<12;i++)
{
cin>>a;
sum+=a;
}
a=sum/12;
b=(int)(100*a+0.5);
a=(float)b/100;
printf("$%.2lf\n",a);
return 0;
}