锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽聽聽 涓艱〃杈懼紡鐨勮鍊?/font>
聽聽聽 鐢╠ouble鍐欎簡涓涓腑鍊艱〃杈懼紡鐨勮鍊鹼紝鍙互綆楀皬鏁扮殑銆?br />聽聽聽 鏂囩珷閾炬帴錛?/font>
http://www.shnenglu.com/asp/articles/14145.html聽聽
聽聽聽 涓紑琛ㄨ揪寮忚漿鍚庣紑琛ㄨ揪寮?/strong>
聽聽聽 娌℃湁浠涔堝彲璇寸殑錛屽緢鏃犺亰鐨勪竴涓▼搴忊︹?br />聽聽聽 鏂囩珷閾炬帴錛?http://www.shnenglu.com/asp/articles/14265.html
聽聽聽 褰掑茍鎺掑簭+姹傞嗗簭鏁?/strong>
聽聽聽 鐢ㄦā鏉垮啓鐨勪竴涓綊騫舵帓搴忥紝騫朵笖娉ㄦ槑浜嗙敤褰掑茍鎺掑簭姹傞嗗簭鏁扮殑鏂規硶鈥︹?br />聽聽聽 鏂囩珷閾炬帴錛?http://www.shnenglu.com/asp/articles/14261.html
鍏充簬
KMP
綆楁硶錛屽ソ鍍?/span>
Optimistic
鍐欎簡涓綃囨枃绔狅紝鎴戝湪姝ゅ氨涓嶈浜嗭紝澶у鏈夊叴瓚e彲浠ュ幓鐪嬬湅:
聽聽聽 http://www.shnenglu.com/sicheng/archive/2006/10/10/13537.html
鎬濇兂錛?/span>
鍋囪緇欏畾妯″紡涓?/span> 鈥漛omb鈥? 鍜屽瓧絎︿覆 鈥渦niversal_super_bomb鈥?/span> 錛屽湪榪涜鍖歸厤鐨勬椂鍊欎粠鏈鍚庝竴涓紑濮嬫瘮杈冿細
T: universal_super_bomb
P: bomb
寰堟槑鏄撅紝 e 鍦ㄦā寮忎覆涓牴鏈笉瀛樺湪錛岄偅涔堟渶浼樼殑涓嬩竴姝ュ尮閰嶅氨搴旇鏄細
T: universal_ super _bomb
P: 聽聽聽 聽聽bomb
榪欐牱鏄劇劧鏁堢巼灝辮姣?/span> KMP 楂橈紝鑰岃繖灝辨槸 BM 鍖歸厤綆楁硶鐨勬濇兂銆?/span>
鏂規硶錛?/span>
鐜板湪閭fā寮忎覆 鈥渂omb鈥? 鏉ヤ婦渚嬶紝妯″紡涓查暱搴?/span> m=4 銆?/span>
BM 妯″紡鍖歸厤涓湁 2 涓暟緇勶紝瀹氫竴涓槸 n1 錛屼竴涓槸 n2 銆?/span>
n1
鐨勪綔鐢ㄦ槸璁板綍瀛楃闆嗕腑鐨勬瘡涓瓧絎﹀湪妯″紡涓浉瀵逛簬鏈鍙崇鐨勬渶榪戣窛紱伙紝
b
紱繪渶鍙崇鐨勪負
0
錛?/span>
m
涓?/span>
1
錛?/span>
o
涓?/span>
2
錛屽叾浠栨病鏈夊嚭鐜扮殑鍒欎負
4
錛岄偅涔?/span>
n1[27]={4,0,4,4,4,4,4,4,4,4,4,4,1,4,2,4,4,4,4,4,4,4,4,4,4,4,4}
錛?/span>
鈥檁鈥?/span>
鍗?/span>
n[26]
錛夈?/span>
n2鐨勪綔鐢ㄦ槸瀛樺偍妯″紡涓i涓瓧絎︿笉絳夋椂錛屽彲浠ョЩ鍔ㄧ殑浣嶆暟銆?br />聽聽聽 鑰冭檻妯″紡涓茬殑瀛愪覆 s=pi+1 pi+1 鈥4 錛岀浉瀵逛簬妯″紡涓叉湰韜岃█渚濇鍚戝乏縐誨姩錛屽鏋滃瓙涓?/span> s 娌℃湁鍖歸厤涓婏紝鍒欑戶緇Щ鍔ㄥ瓙涓?/span> s 錛岀洿鍒板尮閰嶆垨鑰呯Щ鍑烘ā寮忎覆鏈宸︾錛岃錛堝尮閰嶆垨縐誨嚭錛?/span> + 涔嬪墠 瀛愪覆 s 縐誨姩鐨勪綅鏁頒負 n 錛屽垯鏈?/span> n2[i]=m-i+n-1 錛屽茍涓斾護 n2[m-1]=1 銆傞偅涔堝浜庢ā寮忎覆 鈥漛omb鈥? 鏉ヨ n2[4]={4,4,4,1} 銆傦紙 鐪嬭繖閲岃姳浜嗘垜濂戒箙鐨勬椂闂村摝錛屾槑鏄庢槸 C++ 鏁版嵁緇撴瀯錛岄噷闈㈠叾浠栧湴鏂圭殑涓嬫爣鏄粠 0 寮濮嬶紝鑰岃繖閲屽嵈鏄粠 1 寮濮嬶紝鏅曟鈥︹︼級
鎺ヤ笅鏉ュ氨鏄浣曞尮閰嶃傚尮閰嶇殑鏃跺欏厛鎶婄洰鏍囦覆鍜屾ā寮忎覆宸﹀榻愶紝鐒跺悗浠庢ā寮忎覆鏈鍙崇寮濮嬫瘮杈冿紝 pi 鍜?/span> tj 涓嶇浉絳夊垯璁$畻 k=max(n1[(鈥榓鈥?lt;=t[j]&&t[j]<=鈥檢鈥??(t[j]-鈥榓鈥?:26],n2[i]) 錛屽茍灝嗘ā寮?/span> P 鍙崇Щ k+i-m 浣嶏紝鐢?/span> pm-1 鍜?/span> tj+k 緇х畫姣旇緝銆?/span>
姣斿錛?/span>
T: universal_super_bomb
P: bomb
p[3]!=t[3] 錛岄偅涔?/span> k=max(n1[(鈥榓鈥?lt;=t[j]&&t[j]<=鈥檢鈥??(t[j]-鈥榓鈥?:26],n2[i])=max(4,1)=4 錛屽垯灝嗘ā寮忎覆鍙崇Щ k+(i+1)-m=4+4-4=4 浣嶏紝 j+k=3+4=7 錛?/span> p[3] 鍜?/span> t[7] 榪涜姣旇緝錛?/span>
T: universal_super_bomb
P:聽聽聽聽 bomb
p[3]!=t[7] 錛岄偅涔?/span> k=max(n1[(鈥榓鈥?lt;=t[j]&&t[j]<=鈥檢鈥??(t[j]-鈥榓鈥?:26],n2[i])=max(4,1)=4 錛屽垯灝嗘ā寮忎覆鍙崇Щ k+(i+1)-m=4+4-4=4 浣嶏紝 j+k=7+4=11 錛?/span> p[3] 鍜?/span> t[11] 榪涜姣旇緝錛?/span>
T: universal_super_bomb
P:聽聽聽聽聽聽聽 聽聽聽bomb
p[3]!=t[11] 錛岄偅涔?/span> k=max(n1[(鈥榓鈥?lt;=t[j]&&t[j]<=鈥檢鈥??(t[j]-鈥榓鈥?:26],n2[i])=max(4,1)=4 錛屽垯灝嗘ā寮忎覆鍙崇Щ k+(i+1)-m=4+4-4=4 浣嶏紝 j+k=11+4=15 錛?/span> p[3] 鍜?/span> t[15] 榪涜姣旇緝錛?/span>
T: universal_super_bomb
P:聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 bomb
p[3]!=t[15] 錛岄偅涔?/span> k=max(n1[(鈥榓鈥?lt;=t[j]&&t[j]<=鈥檢鈥??(t[j]-鈥榓鈥?:26],n2[i])=max(4,1)=4 錛屽垯灝嗘ā寮忎覆鍙崇Щ k+(i+1)-m=4+4-4=4 浣嶏紝 j+k=15+4=11 錛?/span> p[3] 鍜?/span> t[15] 榪涜姣旇緝錛?/span>
T: universal_super_bomb
P:聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 bomb
鍖歸厤鎴愬姛銆?/span>
錛堜緥瀛愭湁鐐瑰樊鍝︼紝娌℃湁浣撶幇 n1 鍜?/span> n2 鐨勪綔鐢紝涓嶅ソ鎰忔濆晩錛屽悇浣嶏紝鍘熻皡鎴戝惂鈥︹?/span> 鍋蜂釜鎳掞紝鎳掑緱鎹簡鈥︹︼級
瀹炵幇錛?/span>
鍐嶆鍋鋒噿錛岃繖嬈′笉鎯沖啓錛屼笅嬈″啓鍚э紝鍢垮樋鈥︹?/span>