锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美视频官网,中日韩高清电影网,欧美日韩精品免费观看视频http://www.shnenglu.com/MatoNo1/archive/2013/03/03/198185.htmlMato_No1Mato_No1Sun, 03 Mar 2013 07:25:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2013/03/03/198185.htmlhttp://www.shnenglu.com/MatoNo1/comments/198185.htmlhttp://www.shnenglu.com/MatoNo1/archive/2013/03/03/198185.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/198185.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/198185.html銆?銆?a title="BZOJ1713" >BZOJ1713
F[i][j]=max{F[i1][j1] - (sA[i-1]-sA[i1])2 - (sB[j-1]-sB[j1])2} + A[i]*B[j], 0<=i1<i, 0<=j1<j
瀵硅繖涓紡瀛愯繘琛屽寲綆錛?br />F[i][j]=max{F[i1][j1] - sA[i1]2 + 2*sA[i-1]*sA[i1] - sB[j1]2 + 2*sB[j-1]*sB[j1]}+A[i]*B[j]-sA[i-1]2-sB[j-1]2
瀵逛簬涓緇寸殑鎯呭喌錛屽緢瀹規槗澶勭悊——涓棿灝辨槸涓鏉$洿綰匡紝鐒惰岃繖鏄簩緇寸殑錛屽浜庤繖縐?D/2D鐨凞P鏂圭▼錛岃浼樺寲鍒癘(N2)綰у埆錛岄渶瑕佷袱姝ャ?br />娉ㄦ剰鍒板喅絳栧紡涓櫎浜咶[i1][j1]澶栵紝鍏跺畠閮ㄥ垎閮借涔堝彧涓巌1鏈夊叧錛岃涔堝彧涓巎1鏈夊叧銆傚洜姝わ紝鍙互鎶婇樁孌礽鐨勫悇涓姸鎬佷綔涓轟竴涓暣浣擄紝鍦ㄤ箣鍓嶅緱鍑虹殑鍚勪釜F[i][j]涓紝瀵逛簬鐩稿悓鐨刯錛屾壘鍒板浜庣洰鍓嶇殑i錛屾渶浼樼殑閭d釜鍐崇瓥——娉ㄦ剰錛屽浜庣浉鍚岀殑j1錛岄噷闈㈡墍鏈変笌j1鏈夊叧鐨勪笢瑗塊兘鍙互鍏堜笉鑰冭檻浜嗭紝鍙冭檻(F[i1][j1] - sA[i1]2 + 2*sA[i-1]*sA[i1])瀵逛簬鐩墠i鐨勬渶浼樺喅絳栥傝繖涓姝ュ彲浠ュ湪榪欎簺鐩寸嚎褰㈡垚鐨勪笂鍑稿3涓壘鍒幫紝涓旀弧瓚沖喅絳栧崟璋冩э紝鍙互鐢ㄤ竴涓爤澶勭悊錛堟枩鐜囦紭鍖栵級銆傜劧鍚庯紝灝嗚繖浜涙渶浼樺喅絳栦互j涓鴻嚜鍙橀噺鍐嶇粍鎴愪竴浜涚洿綰匡紝鐢ㄦ爤緇存姢瀹冧滑鐨勪笂鍑稿3錛屽浜庢瘡涓猨錛屾壘鍒版渶浼樺煎嵆鍙?br />娉ㄦ剰浜嬮」錛氬湪鏍堜腑鍒犻櫎鐩寸嚎鐨勬椂鍊欙紝濡傛灉涔嬪墠鐨勬渶浼樺喅絳栨槸榪欎釜琚垹鎺夌殑鐩寸嚎錛屽垯瑕佸皢鏈浼樺喅絳栧厛緗負涓嶅瓨鍦紝鐒跺悗鍐嶆彃鍏ユ柊鐩寸嚎鍚庤涓烘柊鐩寸嚎銆傚彟澶栵紝瑕佺壒鍒敞鎰忓鉤琛岀殑鎯呭喌銆?br />
銆?銆慙CIS
緇忓吀闂錛屽埄鐢ㄤ笂闈㈢殑鍒嗘浼樺寲鎬濇兂錛屽緢瀹規槗鐢ㄧ嚎孌墊爲寰楀埌涓涓狾(N2logN)鐨勫仛娉曘?br />
銆?銆?a title="[SCOI2010]鑲$エ浜ゆ槗 " >[SCOI2010]鑲$エ浜ゆ槗
F[i][j]=max{F[i-1][j], max{F[i-W-1][j-a]-A*a, F[i-W-1][j+b]+b*B}}, j<=maxP, 1<=a<=maxA, 1<=b<=maxB
娉ㄦ剰瀵逛簬鐩稿悓鐨刯錛岃綆楁柟娉曟槸涓鏍風殑錛屼笖鏄竴鏉$洿綰匡紙鐢變簬鏈夎寖鍥存墍浠ュ叾瀹炴槸綰挎錛夈?br />鎵浠ワ紝璁$畻闃舵i鏃訛紝鍙互灝?i-W-1)闃舵鎵鏈夌殑鍐崇瓥褰撴垚綰挎鎻掑叆錛岃繖浜涚嚎孌電殑鏂滅巼閮界浉絳夛紝鍥犳姣旇緝濂界淮鎶わ紝鍙渶瑕佸垽鏂竟鐣屽嵆鍙?br />
娉ㄦ剰錛孨OI2011鐨剆how铏界劧涔熺鍚堝浜庣浉鍚岀殑j璁$畻鏂規硶涓鏍鳳紝浣嗗畠灝變笉鑳戒紭鍖栵紝鍥犱負瀹冪殑鍐崇瓥鏄笉榪炵畫涓旀棤瑙勫緥鐨勶紝娌℃湁浠諱綍鍑犱綍鎬ц川銆傚洜姝わ紝瀹冨彧鑳界敤O(N3)鐨勭畻娉曡綆楀嚭鎵鏈夌姸鎬併?br />

Mato_No1 2013-03-03 15:25 鍙戣〃璇勮
]]>
銆怉HOI2013澶嶄粐銆戝姩鎬佸嚫鍖?/title><link>http://www.shnenglu.com/MatoNo1/archive/2013/02/28/198024.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Thu, 28 Feb 2013 10:29:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2013/02/28/198024.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/198024.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2013/02/28/198024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/198024.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/198024.html</trackback:ping><description><![CDATA[     鎽樿: 鍘熼鍦板潃鍐欎簡鍑犲ぉ緇堜簬鍐欏嚭鏉ヤ簡……錛堟樉鐒訛紝鎴戝お寮變簡錛岃鍚勪綅紲炵妵涓嶈閯欒錛夊湪鏈夊姞鐐圭殑鎯呭喌涓嬶紝鍔ㄦ佸湴緇存姢鍑稿寘錛屾湁浠ヤ笅涓ょ鏂規硶錛?lt;1>緇存姢涓娿佷笅鍑稿3錛堟湰娌欒尪閲囩敤鐨勬柟娉曪級錛氬嚫鍖呭彲浠ユ媶鎴愪笂銆佷笅鍑稿3錛屽瀹冧滑鍒嗗埆緇存姢銆備袱涓嚫澹沖潎鎸夌収涓嬮潰瀹氫箟鐨?lt;鍏崇郴錛堝嵆鍏坸澧炪佸啀y澧烇級鎺掑簭錛屾敞鎰忥紝涓や釜鍑稿3鐨勪袱绔槸鐩稿悓鐨勶紝鍧囦負鏁翠釜鍑稿寘鐨勬渶灝忕偣涓庢渶澶х偣錛岄櫎涓ょ澶栵紝瀹冧滑娌℃湁鍏叡瀹氱偣銆備互涓婂嚫澹充負渚?..  <a href='http://www.shnenglu.com/MatoNo1/archive/2013/02/28/198024.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/MatoNo1/aggbug/198024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2013-02-28 18:29 <a href="http://www.shnenglu.com/MatoNo1/archive/2013/02/28/198024.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆怉HOI2013澶嶄粐銆慡COI2008 鐫鑹叉柟妗?/title><link>http://www.shnenglu.com/MatoNo1/archive/2012/10/24/193778.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Wed, 24 Oct 2012 06:59:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2012/10/24/193778.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/193778.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2012/10/24/193778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/193778.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/193778.html</trackback:ping><description><![CDATA[<a title="鍘熼鍦板潃" >鍘熼鍦板潃</a><br />棣栧厛錛岀湅榪欎箞灝忕殑鑼冨洿灝辯煡閬擄紝鏁板鏂規硶鑲畾鎼炰笉浜?#8230;…鍙堟兂涓嶅埌鍏跺畠妯″瀷……鍙兘鐢ㄧ姸鍘嬬‖鎼炰簡鍥?#8230;…<br />闂鏄紝5^15紼砊錛屽鏋滆兘鍊掕繃鏉ワ紝15^5錛屽氨涓嶄細T浜嗐?br />鍙互鍙戠幇錛孋鍊肩浉鍚岀殑棰滆壊鏈川涓婃槸涓鏍風殑……鍥犳錛屽彧闇瑕佷繚瀛樼洰鍓岰鍊間負1銆?銆?銆?銆?鐨勯鑹插悇鏈夊灝戠灝辮浜嗗洤……錛堝綋鐒跺湪榪囩▼涓繕浼氬嚭鐜癈鍊間負0鐨勶紝鍗崇敤瀹岀殑棰滆壊錛屼笉榪?銆?銆?銆?銆?銆?鐨勫拰鏄鑹叉繪暟錛岃屼笖浠庝笅闈㈠彲浠ョ湅鍑猴紝C鍊間負0鐨勭‘瀹?#8220;鏈ㄦ湁鐢?#8221;錛夛紱<br />璁綟[s1][s2][s3][s4][s5][v]涓烘秱瀹屽墠鑻ュ共涓湪鍧楋紙榪欎釜涓暟鍙互閫氳繃s1~s5綆楀嚭錛屼笉榪囨垜浠茍涓嶉渶瑕佸畠鍥?#8230;…錛夊悗錛孋鍊間負1~5鐨勯鑹插悇鏈塻1锝瀞5縐嶏紝涓旇繖鑻ュ共涓腑鐨?strong><span style="color: red;">鏈鍚庝竴涓秱鐨勯鑹茶繕鍓╃殑C鍊?/span></strong>涓簐錛堟樉鐒?<=v<=4錛夈?br />杈圭晫錛欶[S[1]][S[2]][S[3]][S[4]][S[5]][0]=1錛屽叾浣欎負0錛圫[i]涓轟竴寮濮婥鍊間負i鐨勯鑹茬鏁幫級銆?br />璁$畻F鏃訛紝鍓嶆帹鍚庯紙娉ㄦ剰欏哄簭錛屾槸鎸夌収S[5]閫嗗簭鏈鍏堬紝鍐嶄緷嬈℃槸S[4]锝濻[1]錛岄兘鏄嗗簭錛寁鍙換鎰忓畾搴忥級錛屾灇涓句笅涓涓湪鍧楃殑棰滆壊鏄幇鍦ㄨ繕鍓╁灝戠殑錛屽鏋滃畠涓庣洰鍓嶇殑榪欎釜錛堟渶鍚庝竴涓級鍓╃殑鐩稿悓錛屽垯瑕佸噺1錛屽惁鍒欎笉鍑忋傚叿浣撶殑鏂圭▼瑙佷唬鐮併?br />娉ㄦ剰緇嗚妭錛氭灇涓綟鐨剆1~s5涓嬫爣鏃訛紝閮借N錛堥鑹叉繪暟錛夊紑濮嬫灇涓撅紝鍥犱負榪囩▼涓煇浜泂鍊間細澧炲姞錛?br /><br />鏈鐨勫惎紺哄氨鏄紝鍦ㄨ璁$姸鍘婦P鐨勬椂鍊欙紝濡傛灉姝g潃鏉ヤ笉琛岋紝鍙互鍙嶇潃鏉ワ紝鎴栬灝辮兘璁捐鍑虹鍚堣姹傜殑瑙f硶銆?br /><br />浠g爜錛?br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #000000;">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">iostream</span><span style="color: #000000;">></span><span style="color: #000000;"><br />#include </span><span style="color: #000000;"><</span><span style="color: #000000;">stdio.h</span><span style="color: #000000;">></span><span style="color: #000000;"><br />#include </span><span style="color: #000000;"><</span><span style="color: #000000;">stdlib.h</span><span style="color: #000000;">></span><span style="color: #000000;"><br />#include </span><span style="color: #000000;"><</span><span style="color: #0000ff;">string</span><span style="color: #000000;">.h</span><span style="color: #000000;">></span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">using</span><span style="color: #000000;"> </span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> std;<br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> re(i, n) for (int i=0; i<n; i++)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> re1(i, n) for (int i=1; i<=n; i++)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> re2(i, l, r) for (int i=l; i<r; i++)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> re3(i, l, r) for (int i=l; i<=r; i++)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> rre(i, n) for (int i=n-1; i>=0; i--)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> rre1(i, n) for (int i=n; i>0; i--)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> rre2(i, r, l) for (int i=r-1; i>=l; i--)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> rre3(i, r, l) for (int i=r; i>=l; i--)</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">#define</span><span style="color: #000000;"> ll long long</span><span style="color: #000000;"><br /></span><span style="color: #0000ff;">const</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> n </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;">, MAXM </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">16</span><span style="color: #000000;">, MOD </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1000000007</span><span style="color: #000000;">;<br /></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> m, S[n </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">];<br />ll F[MAXM][MAXM][MAXM][MAXM][MAXM][n], res;<br /></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> init()<br />{<br />    scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">&</span><span style="color: #000000;">m); </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> x;<br />    re(i, m) {scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d</span><span style="color: #000000;">"</span><span style="color: #000000;">, </span><span style="color: #000000;">&</span><span style="color: #000000;">x); S[x]</span><span style="color: #000000;">++</span><span style="color: #000000;">;}<br />}<br /></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> solve()<br />{<br />    F[S[</span><span style="color: #000000;">1</span><span style="color: #000000;">]][S[</span><span style="color: #000000;">2</span><span style="color: #000000;">]][S[</span><span style="color: #000000;">3</span><span style="color: #000000;">]][S[</span><span style="color: #000000;">4</span><span style="color: #000000;">]][S[</span><span style="color: #000000;">5</span><span style="color: #000000;">]][</span><span style="color: #000000;">0</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> tmp;<br />    rre3(i5, m, </span><span style="color: #000000;">0</span><span style="color: #000000;">) rre3(i4, m, </span><span style="color: #000000;">0</span><span style="color: #000000;">) rre3(i3, m, </span><span style="color: #000000;">0</span><span style="color: #000000;">) rre3(i2, m, </span><span style="color: #000000;">0</span><span style="color: #000000;">) rre3(i1, m, </span><span style="color: #000000;">0</span><span style="color: #000000;">) re(v, n)<br />        </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (F[i1][i2][i3][i4][i5][v]) {<br />            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (i1) {<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (v </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">) tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i1 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i1;<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (tmp) {<br />                    F[i1 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i2][i3][i4][i5][</span><span style="color: #000000;">0</span><span style="color: #000000;">] </span><span style="color: #000000;">+=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">*</span><span style="color: #000000;"> F[i1][i2][i3][i4][i5][v];<br />                    F[i1 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i2][i3][i4][i5][</span><span style="color: #000000;">0</span><span style="color: #000000;">] </span><span style="color: #000000;">%=</span><span style="color: #000000;"> MOD;<br />                }<br />            }<br />            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (i2) {<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (v </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">2</span><span style="color: #000000;">) tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i2 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i2;<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (tmp) {<br />                    F[i1 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i2 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i3][i4][i5][</span><span style="color: #000000;">1</span><span style="color: #000000;">] </span><span style="color: #000000;">+=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">*</span><span style="color: #000000;"> F[i1][i2][i3][i4][i5][v];<br />                    F[i1 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i2 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i3][i4][i5][</span><span style="color: #000000;">1</span><span style="color: #000000;">] </span><span style="color: #000000;">%=</span><span style="color: #000000;"> MOD;<br />                }<br />            }<br />            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (i3) {<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (v </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">3</span><span style="color: #000000;">) tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i3 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i3;<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (tmp) {<br />                    F[i1][i2 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i3 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i4][i5][</span><span style="color: #000000;">2</span><span style="color: #000000;">] </span><span style="color: #000000;">+=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">*</span><span style="color: #000000;"> F[i1][i2][i3][i4][i5][v];<br />                    F[i1][i2 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i3 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i4][i5][</span><span style="color: #000000;">2</span><span style="color: #000000;">] </span><span style="color: #000000;">%=</span><span style="color: #000000;"> MOD;<br />                }<br />            }<br />            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (i4) {<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (v </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">4</span><span style="color: #000000;">) tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i4 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> i4;<br />                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (tmp) {<br />                    F[i1][i2][i3 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i4 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i5][</span><span style="color: #000000;">3</span><span style="color: #000000;">] </span><span style="color: #000000;">+=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">*</span><span style="color: #000000;"> F[i1][i2][i3][i4][i5][v];<br />                    F[i1][i2][i3 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i4 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i5][</span><span style="color: #000000;">3</span><span style="color: #000000;">] </span><span style="color: #000000;">%=</span><span style="color: #000000;"> MOD;<br />                }<br />            }<br />            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (i5) {<br />                F[i1][i2][i3][i4 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i5 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][</span><span style="color: #000000;">4</span><span style="color: #000000;">] </span><span style="color: #000000;">+=</span><span style="color: #000000;"> i5 </span><span style="color: #000000;">*</span><span style="color: #000000;"> F[i1][i2][i3][i4][i5][v];<br />                F[i1][i2][i3][i4 </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][i5 </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">][</span><span style="color: #000000;">4</span><span style="color: #000000;">] </span><span style="color: #000000;">%=</span><span style="color: #000000;"> MOD;<br />            }<br />        }<br />    res </span><span style="color: #000000;">=</span><span style="color: #000000;"> F[</span><span style="color: #000000;">0</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">][</span><span style="color: #000000;">0</span><span style="color: #000000;">];<br />}<br /></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> pri()<br />{<br />    cout </span><span style="color: #000000;"><<</span><span style="color: #000000;"> res </span><span style="color: #000000;"><<</span><span style="color: #000000;"> endl;<br />}<br /></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main()<br />{<br />    init();<br />    solve();<br />    pri();<br />    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />}<br /></span></div><img src ="http://www.shnenglu.com/MatoNo1/aggbug/193778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2012-10-24 14:59 <a href="http://www.shnenglu.com/MatoNo1/archive/2012/10/24/193778.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆怉HOI2013澶嶄粐銆慛OI2008 閬撹礬璁捐http://www.shnenglu.com/MatoNo1/archive/2012/09/22/191595.htmlMato_No1Mato_No1Sat, 22 Sep 2012 08:21:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/22/191595.htmlhttp://www.shnenglu.com/MatoNo1/comments/191595.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/22/191595.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/191595.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/191595.html鍘熼鍦板潃
鍏稿瀷鐨勪簩嬈¢掓帹/DP鐨勯鐩?br />棣栧厛錛岄鐩腑鐨?#8220;涓嶄究鍒╁?#8221;鎸囩殑鏄煇涓偣鍒版牴鐨勮礬寰勪笂鐨勬湪鏈夎閫夊畾閾捐鐩栫殑杈圭殑鏉℃暟銆?br />
絎竴闂細璁綟[i][0..2]鍒嗗埆涓哄綋瀛愭爲i涓粨鐐筰鐨勭姸鎬佷負涓嶅弬涓庨摼錛?錛夈佷綔涓烘煇閾劇鐐癸紙1錛夈佷綔涓烘煇閾句腑闂寸偣錛?錛夋椂錛屽瓙鏍慽涓殑緇撶偣鍒癷鐨勬渶灝忎笉渚垮埄鍊箋備負浜嗗緱鍒癋錛岄渶瑕佽绔婫[j][k(0..2)]琛ㄧず緇撶偣i鐨勫墠j媯靛瓙鏍戜腑錛屾湁k媯電殑鏍圭粨鐐逛笌緇撶偣i鎺ヤ笂鐨勬渶灝忕殑鏈澶т笉渚垮埄鍊箋傛樉鐒訛紝涓嶅拰i鎺ヤ笂鐨勶紝鐘舵佷負0銆?銆?閮借錛屼絾涓嶄究鍒╁艱鍔?錛岃屽拰i鎺ヤ笂鐨勭姸鎬佸彧鑳芥槸0鎴?錛屼笉鍔?銆?br />
闂鏄浜岄棶銆傜浜岄棶鐨勯毦鐐瑰湪浜庯紝褰搃鍙栧緱鏈灝忎笉渚垮埄鍊兼椂錛宨鐨勬瘡涓瓙緇撶偣騫墮潪閮藉彇鍒版渶灝忎笉渚垮埄鍊?/strong>銆備婦涓緥瀛愶紝緇撶偣i鐨勬渶灝忎笉渚垮埄鍊間負3錛屽畠鐨勬煇涓瓙緇撶偣j鐨勬渶灝忎笉渚垮埄鍊間負2錛屽垯褰搄涓巌鎺ヤ笂鏃訛紝瀛愭爲j鐨勫唴閮ㄦ棦鍙互鍙栦笉渚垮埄鍊間負2鐨勮В錛屼篃鍙互鍙栦笉渚垮埄鍊間負3鐨勮В銆傛墍浠ワ紝涓轟簡瑙e喅絎簩闂紝闇瑕佹眰鍑虹粨鐐筰鐨勬渶灝忎笉渚垮埄鍊間負x鐨勮В鐨勬繪暟銆?strong>涓囧垢鐨勬槸錛寈鐨勮寖鍥村茍涓嶆槸澶ぇ錛屽彲浠ヨ瘉鏄庯紝x涓嶄細瓚呰繃log3N錛堜笅鍙栨暣錛夛紝涔熷氨鏄綋N=100000鏃秞鏈澶т負10銆?/span>鍥犳錛屾渶鍚庝粛鐒朵笉浼歍鎺夈?br />
榪欓鐨勪竴涓惎紺哄氨鏄紝鍦ㄦ眰綾諱技浜?#8220;鏈浼樿В璁℃暟”鐨勯棶棰樹腑錛?span style="color: red">涓嶈璁や負褰撳悗闈㈢殑鐘舵佸彇寰楁渶浼樿В鏃訛紝鍓嶉潰鐨勭姸鎬佷竴瀹氬彇寰楁渶浼樿В銆?/strong>鍥犳錛屼笉鑳藉彧璁板綍鏌愮姸鎬佸彇寰楁渶浼樿В鐨勪釜鏁幫紝鑰岃璁板綍璇ョ姸鎬佸彇寰楁瘡涓涓彲琛岃В鏃剁殑涓暟銆?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define ll long long
const int MAXN = 100010, MAXW = 11, INF = ~0U >> 2;
struct edge {
    
int a, b, pre, next;
} E0[MAXN 
* 3], E[MAXN << 1];
int n, m0, m, Q[MAXN], F[MAXN][3], G[MAXN][3], res1 = 0;
ll MOD, FS[MAXN][MAXW][
3], S[MAXN][MAXW][3], res2 = 0;
bool vst[MAXN];
void init_d()
{
    re(i, n) E0[i].pre 
= E0[i].next = E[i].pre = E[i].next = i; m0 = m = n;
}
void add_edge0(int a, int b)
{
    E0[m0].a 
= a; E0[m0].b = b; E0[m0].pre = E0[a].pre; E0[m0].next = a; E0[a].pre = m0; E0[E0[m0].pre].next = m0++;
    E0[m0].a 
= b; E0[m0].b = a; E0[m0].pre = E0[b].pre; E0[m0].next = b; E0[b].pre = m0; E0[E0[m0].pre].next = m0++;
}
void add_edge(int a, int b)
{
    E[m].a 
= a; E[m].b = b; E[m].pre = E[a].pre; E[m].next = a; E[a].pre = m; E[E[m].pre].next = m++;
}
void init()
{
    
int _M; scanf("%d%d"&n, &_M); cin >> MOD; if (_M < n - 1) {res1 = res2 = -1return;} init_d(); int a0, b0;
    re2(i, 
1, n) {scanf("%d%d"&a0, &b0); add_edge0(--a0, --b0);}
}
void prepare()
{
    re(i, n) vst[i] 
= 0; Q[0= 0; vst[0= 1int x, y;
    
for (int front=0, rear=0; front<=rear; front++) {
        x 
= Q[front];
        
for (int p=E0[x].next; p != x; p=E0[p].next) {
            y 
= E0[p].b;
            
if (!vst[y]) {vst[y] = 1; Q[++rear] = y; add_edge(x, y);}
        }
    }
    re(i, n) 
if (!vst[i]) {res1 = -1; res2 = -1return;}
}
inline 
int minv3(int s1, int s2, int s3)
{
    
int s0 = s1 <= s2 ? s1 : s2;
    
return s0 <= s3 ? s0 : s3;
}
inline 
int minv2(int s1, int s2)
{
    
return s1 <= s2 ? s1 : s2;
}
void solve()
{
    
int x, y, len, v1, v2, v01, v02; ll sum;
    rre(i, n) {
        x 
= Q[i]; len = 0; G[0][0= 0; G[0][1= G[0][2= INF;
        
for (int p=E[x].next; p != x; p=E[p].next) {
            y 
= E[p].b; len++;
            v1 
= minv3(F[y][0], F[y][1], F[y][2]) + 1; v2 = minv2(F[y][0], F[y][1]);
            G[len][
0= v1 >= G[len - 1][0? v1 : G[len - 1][0];
            v01 
= v1 >= G[len - 1][1? v1 : G[len - 1][1];
            v02 
= v2 >= G[len - 1][0? v2 : G[len - 1][0];
            G[len][
1= minv2(v01, v02);
            v01 
= v1 >= G[len - 1][2? v1 : G[len - 1][2];
            v02 
= v2 >= G[len - 1][1? v2 : G[len - 1][1];
            G[len][
2= minv2(v01, v02);
        }
        re(j, 
3) F[x][j] = G[len][j];
        re(j, MAXW) {S[
0][j][0= 1; S[0][j][1= S[0][j][2= 0;} len = 0;
        
for (int p=E[x].next; p != x; p=E[p].next) {
            y 
= E[p].b; len++;
            re(j, MAXW) re(k, 
3) {
                S[len][j][k] 
= 0;
                
if (j) {
                    sum 
= 0; re(k0, 3) {sum += FS[y][j - 1][k0]; if (sum >= MOD) sum -= MOD;}
                    S[len][j][k] 
= (sum * S[len - 1][j][k]) % MOD;
                }
                
if (k) {
                    sum 
= 0; re(k0, 2) {sum += FS[y][j][k0]; if (sum >= MOD) sum -= MOD;}
                    S[len][j][k] 
= (S[len][j][k] + sum * S[len - 1][j][k - 1]) % MOD;
                }
            }
        }
        re(j, MAXW) re(k, 
3) FS[x][j][k] = S[len][j][k];
    }
    res1 
= minv3(F[0][0], F[0][1], F[0][2]);
    res2 
= 0; re(i, 3if (F[0][i] == res1) res2 += FS[0][F[0][i]][i]; res2 %= MOD;
}
void pri()
{
    cout 
<< res1 << endl << res2 << endl;
}
int main()
{
    init();
    
if (!res1) prepare();
    
if (!res1) solve();
    pri();
    
return 0;
}




Mato_No1 2012-09-22 16:21 鍙戣〃璇勮
]]>
銆怉HOI2013澶嶄粐銆戜袱閬揕IS妯″瀷棰樻葷粨http://www.shnenglu.com/MatoNo1/archive/2012/09/08/189969.htmlMato_No1Mato_No1Sat, 08 Sep 2012 12:40:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/08/189969.htmlhttp://www.shnenglu.com/MatoNo1/comments/189969.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/08/189969.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/189969.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/189969.html銆?銆?a title="[HAOI2007]涓婂崌搴忓垪 " >[HAOI2007]涓婂崌搴忓垪
棰勫鐞嗭細璁綟[i]涓轟互i寮澶寸殑鏈闀夸笂鍗囧簭鍒楃殑闀垮害錛屾庝箞姹備笉鐢ㄨ浜嗗惂鍥?#8230;…
鍋囪鐩墠闇瑕佹眰闀垮害涓篗鐨勩佹爣鍙峰瓧鍏稿簭鏈灝忕殑涓婂崌搴忓垪錛屾樉鐒跺叾絎竴涓厓绱燗[i]蹇呴』婊¤凍F[i]>=M錛堟敞鎰忥紝涓嶆槸絳変簬錛屾槸澶т簬絳変簬錛侊級錛屾壘鍒版弧瓚寵繖涓潯浠剁殑鏈灝忕殑i鍗沖彲銆傜劧鍚庯紝璁劇洰鍓嶅凡緇忔眰鍑轟簡璇ュ簭鍒楃殑絎瑇涓厓绱犱負A[y]錛屽垯絎?x+1)涓厓绱燗[z]闇瑕佹弧瓚崇殑鏉′歡鏄疉[z]>A[y]錛屼笖F[z]=F[y]-1錛屾壘鍒版弧瓚寵繖涓潯浠剁殑鏈灝忕殑z鍗充負璇ュ簭鍒楃殑絎?x+1)涓厓绱犮傛寜鐓ц繖縐嶆柟娉曪紝鎵弿涓閬嶅氨鍙互姹傚嚭鏁翠釜搴忓垪錛屾椂闂村鏉傚害涓篛(N)銆傚鏋滄暣涓簭鍒楃殑鏈闀夸笂鍗囧簭鍒楅暱搴?lt;M錛屽垯鏃犺В銆?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define ll long long
const int MAXN = 10010,    MAXM = 1010, INF = ~0U >> 2;
int n, m, len, A[MAXN], F[MAXN], D[MAXN], res[MAXM];
void prepare()
{
    D[len 
= 0= INF; int l, r, mid;
    rre(i, n) 
if (A[i] < D[len]) D[F[i] = ++len] = A[i]; else {
        l 
= 0; r = len;
        
while (l < r) {
            mid 
= l + r + 1 >> 1;
            
if (A[i] < D[mid]) l = mid; else r = mid - 1;
        }
        F[i] 
= l + 1; D[l + 1= A[i];
    }
}
void solve()
{
    
int x, y;
    re(i, n) 
if (F[i] >= m) {
        res[
0= A[i]; if (m == 1return; x = m - 1; y = 1;
        re2(j, i
+1, n) if (F[j] >= x && A[j] > res[y - 1]) {res[y++= A[j]; if (y == m) returnelse x--;}
    }
}
int main()
{
    scanf(
"%d"&n); re(i, n) scanf("%d"&A[i]);
    prepare();
    
int m_s; scanf("%d"&m_s);
    re(i, m_s) {scanf(
"%d"&m); if (m > len) puts("Impossible"); else {solve(); re(j, m-1) printf("%d ", res[j]); printf("%d\n", res[m - 1]);}}
    
return 0;
}


銆?銆?a title="[HAOI2006]鏁板瓧搴忓垪 " >[HAOI2006]鏁板瓧搴忓垪
棣栧厛錛岀敱浜庡簭鍒楃殑鎵鏈夊厓绱犻兘鏄暣鏁幫紝鎵浠ュ彲浠ュ皢鍘熷簭鍒楃殑鎵鏈夊厓绱犲噺鍘誨畠鐨勪笅鏍囷紝榪欐牱灝辨妸涓婂崌搴忓垪杞寲涓轟笉涓嬮檷搴忓垪浜嗐?br />絎竴闂殑緇撴灉鏄劇劧灝辨槸(N-鏂板簭鍒楃殑鏈闀夸笉涓嬮檷搴忓垪闀垮害)銆傚叧閿湪浜庣浜岄棶銆備互涓婣鍧囪〃紺烘柊搴忓垪銆?br />璁綟[i]涓轟互A[i]緇撳熬鐨勬渶闀夸笉涓嬮檷搴忓垪闀垮害錛堝悓鏍鳳紝姹傛硶涓嶇敤璇翠簡錛夛紝G[i]涓哄湪A[i]涓嶄慨鏀圭殑鍓嶆彁涓嬪皢A[0..i]杞彉涓轟笉涓嬮檷搴忓垪鐨勬渶灝忎慨鏀歸噺銆傞鍏堟眰鍑篎[i]錛岀劧鍚庡湪姹侴[i]鏃訛紝鏋氫婦涓婁竴涓?#8220;涓嶅姩鐐?#8221;錛堝氨鏄笉淇敼鐨勫厓绱狅級A[j]錛堟樉鐒跺繀欏繪弧瓚矨[j]<=A[i]涓擣[j]=F[i]-1錛夛紝榪欐牱鏈灝忎慨鏀歸噺灝辨槸G[j]+(灝咥[j..i]杞彉涓轟笉涓嬮檷搴忓垪鐨勬渶灝忎慨鏀歸噺錛夈傚彲浠ヨ瘉鏄庯紝A[j..i]鐨勬渶浼樹慨鏀規柟妗堝繀鐒舵槸灝咥[j+1..t]鍏ㄩ儴淇敼涓篈[j]錛孉[t+1..i]鍏ㄩ儴淇敼涓篈[i]錛岃繖閲宼鏄竴涓猍j..i]鑼冨洿鐨勫箋傞棶棰樺氨鏄浣曟眰鍑烘渶浼樼殑t錛?br />涓寮濮嬶紝鍋囪t=j錛屽嵆鎶夾[j+1..i-1]鍏ㄩ儴淇敼涓篈[i]錛岃綆楀嚭淇敼閲忥紝璁句負S銆傜劧鍚庯紝鐢變簬A[j+1..i-1]涔嬮棿鐨勫厓绱犺涔堝皬浜嶢[j]錛岃涔堝ぇ浜嶢[i]錛堣繖涓槸鏄劇劧鐨勫洤錛夛紝鎴戜滑鎶婂皬浜嶢[j]鐨勫厓绱犵О涓?#8220;灝忔暟”錛屾妸澶т簬A[i]鐨勫厓绱犵О涓?#8220;澶ф暟”錛屽垯褰搕鍙杢0鏃訛紝淇敼閲忎負S-(A[i]-A[j])*(A[j+1..t0]涓殑“灝忔暟”涓暟鍑忓幓“澶ф暟”涓暟錛夈傝繖鏍鳳紝鍙渶鎵弿涓涓嬶紝姹傚嚭浣垮緱(A[j+1..t0]涓殑“灝忔暟”涓暟鍑忓幓“澶ф暟”涓暟錛夊兼渶澶х殑t0鍗沖彲銆?br />褰撶劧榪樻湁涓涓棶棰橈紝瀵逛簬鍚屼竴涓猧錛屾弧瓚?#8220;A[j]<=A[i]涓擣[j]=F[i]-1”鐨勫厓绱犱釜鏁板彲鑳芥湁寰堝錛屽鏋滀竴涓竴涓灇涓撅紝涓涓竴涓壂鎻忥紝浼氬緢鎱㈢殑鍥?#8230;…瑙e喅鏂規硶鏄紝姹傚嚭婊¤凍榪欎釜鏉′歡鐨刯涓渶灝忕殑涓涓紝璁句負j0錛岀劧鍚庢妸A[j0+1..i-1]涓殑鎵鏈?#8220;灝忔暟”鍜?#8220;澶ф暟”鍏ㄩ儴澶勭悊鍑烘潵錛岀劧鍚庣敤綾諱技鍓嶇紑鍜岀殑鏂規硶灝辮兘鎼炰簡鍥?#8230;…褰撶劧錛屼負浜嗘壘鍒癹0錛岄渶瑕佸緩涓涓簩鍒嗗浘錛岃竟涓?F[i], i)銆?br />鏈鍚庯紝涓轟簡鏂逛究錛屽彲浠ユ妸A搴忓垪鐨勫乏杈瑰姞涓涓?INF錛屽彸杈瑰姞涓涓?INF銆傛渶鍚庢葷殑鏃墮棿澶嶆潅搴︼紝鐞嗚涓婁負O(N2)錛屼絾鐢變簬鏄殢鏈烘暟鎹紝鎵浠ヨ繙榪滆揪涓嶅埌榪欎釜綰у埆銆?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define ll long long
const int MAXN = 40010, INF = ~0U >> 2;
struct edge {
    
int a, b, pre, next;
} E[MAXN 
<< 1];
int n, m, A[MAXN], D[MAXN], F[MAXN], W[MAXN], res1;
ll G[MAXN], res2;
void init_d()
{
    re(i, n) E[i].pre 
= E[i].next = i; m = n;
}
void add_edge(int a, int b)
{
    E[m].a 
= a; E[m].b = b; E[m].pre = E[a].pre; E[m].next = a; E[a].pre = m; E[E[m].pre].next = m++;
}
void init()
{
    scanf(
"%d"&n);
    A[
0= -INF; re1(i, n) {scanf("%d"&A[i]); A[i] -= i;} A[++n] = INF; n++;
}
void solve()
{
    init_d(); F[
0= 0; G[0= 0; D[0= -INF; add_edge(00); int len = 0, l, r, mid, x, maxw; ll sum, tmp;
    re2(i, 
1, n) {
        
if (A[i] >= D[len]) D[F[i] = ++len] = A[i]; else {
            l 
= 0; r = len;
            
while (l < r) {
                mid 
= l + r + 1 >> 1;
                
if (A[i] >= D[mid]) l = mid; else r = mid - 1;
            }
            D[F[i] 
= ++l] = A[i];
        }
        
for (int p=E[F[i]-1].next; ; p=E[p].next) if (A[i] >= A[x = E[p].b]) break;
        W[x] 
= 0; re2(j, x+1, i) if (A[j] < A[i]) W[j] = W[j - 1+ 1else W[j] = W[j - 1- 1;
        sum 
= 0; maxw = -INF; G[i] = ~0Ull >> 2;
        rre2(j, i, x) {
            
if (A[j] <= A[i] && F[j] == F[i] - 1) {
                tmp 
= G[j] + sum; if (tmp < G[i]) G[i] = tmp;
                tmp 
= G[j] + sum - (ll) (maxw - W[j]) * (A[i] - A[j]); if (tmp < G[i]) G[i] = tmp;
            }
            
if (A[j] > A[i]) sum += A[j] - A[i]; else sum += A[i] - A[j];
            
if (W[j] > maxw) maxw = W[j];
        }
        add_edge(F[i], i);
    }
    res1 
= n - F[n - 1- 1; res2 = G[n - 1];
}
void pri()
{
    cout 
<< res1 << endl << res2 << endl;
}
int main()
{
    init();
    solve();
    pri();
    
return 0;
}




Mato_No1 2012-09-08 20:40 鍙戣〃璇勮
]]>
鐐叺闃靛湴浠ュ強涓庡叾鐩稿叧鐨勪竴綾葷姸鍘婦P闂http://www.shnenglu.com/MatoNo1/archive/2012/03/10/167626.htmlMato_No1Mato_No1Sat, 10 Mar 2012 15:27:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/03/10/167626.htmlhttp://www.shnenglu.com/MatoNo1/comments/167626.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/03/10/167626.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/167626.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/167626.html鍘熼鍦板潃
璇村疄璇濇垜絎竴嬈″皾璇曞啓鐐叺闃靛湴鏄湪2009騫?#8230;…宸茬粡榪囧幓涓ゅ勾澶氫簡錛岀粓浜庢壘鍒頒簡涓涓ソ鐨勮В娉?#8230;…搴嗙涓涓?#8230;…

銆愮姸鎬佸帇緙〥P銆?br />鎵璋撶姸鎬佸帇緙〥P錛屽氨鏄浜庢煇浜汥P闂錛屾瘡涓闃舵鐨勭姸鎬侀兘鏈夊緢澶氱淮錛岃鍒╃敤鏌愪簺鎵嬫灝嗗畠浠帇緙╁埌涓緇達紙涓涓鏁存暟錛夛紝欏轟究榪涜鐘舵佺殑綺劇畝錛堝幓鎺変笉鍚堟硶鐨勭姸鎬侊級錛岀劧鍚庡啀榪涜DP銆傝繖閲岃鐨勪富瑕佹槸浼犵粺鐨勭姸鍘婦P錛屾湁涓縐嶅熀浜?#8220;鎻掑ご”鐨凞P錛屾洿楂樼駭錛屼互鍚庡啀鎼炪?br />瀵逛簬鏈錛屽彲浠ヨ璁″嚭涓涓繖鏍風殑鐘舵侊細[0..1][0..1][0..1]...[0..1]錛堟湁M涓猍0..1]錛夛紝琛ㄧず璇ヨ鐨勬瘡涓牸瀛愭斁涓嶆斁鐐叺錛屽鏋滄斁錛屼負1錛屽惁鍒欎負0銆傛樉鐒訛紝榪欐槸涓涓狹浣嶄簩榪涘埗鏁幫紝濡傛灉鑳芥妸瀹冧滑鍘嬬緝鎴愪竴涓猧nt灝卞ソ浜嗐?br />
銆愬浣曞帇緙┿?br />絎竴涓棶棰樻槸榪欎箞澶氱淮鐨勭姸鎬佸浣曞帇緙╃殑闂銆?br />瀵逛簬鏈錛岀敱浜庢槸浜岃繘鍒舵暟錛岀洿鎺ュ帇緙╁氨鍙互浜嗐備絾鏄浜庢煇浜涙儏鍐碉紝鐘舵佹槸涓笁榪涘埗鏁幫紙姣忎釜鏍煎瓙鐨勫睘鎬ч兘鏈?縐嶏級鐢氳嚦鏇村榪涘埗鏁幫紝榪欐牱錛岀洿鎺ュ帇緙╀細瀵艱嚧鏃犳硶浣跨敤浣嶈繍綆楋紝浠庤屼嬌“瑙e帇”鍙樺緱寰堥夯鐑︼紝鑰楁椂涔熷緢闀匡紙闇瑕佹毚鍔涳級錛屽洜姝わ紝鍙互灝嗘瘡浣嶄笁榪涘埗閮芥媶鎴愪袱浣嶄簩榪涘埗錛?br />0->00
1->01
2->10
錛堝綋鐒?鎷嗘垚10銆?鎷嗘垚11涔熸湪鏈夐棶棰橈紝鍙鑳藉尯鍒嗗紑灝辮浜嗭級
榪欐牱錛屾瘡涓姸鎬佸氨鍙互鐢?涓簩榪涘埗鏁版潵琛ㄧず錛屽彲浠ュ湪鏋勯犲嚭鎵鏈夊悎娉曠姸鎬佷互鍚庡皢姣忎釜鐘舵佹墍瀵瑰簲鐨勪袱浣嶄簩榪涘埗鏁板瓨鍒皊truct閲岄潰錛屼嬌鐢ㄦ椂璋冨嚭鍗沖彲銆?br />
銆愬浣曠簿綆銆?br />榪欎釜闂鏄渶閲嶈鐨勶紝鍥犱負錛屽鏋滀笉綺劇畝錛屽湪鏋氫婦鐘舵佷互鍙婅漿縐葷殑鏃跺欏氨浼氭灇涓懼埌寰堝涓嶅悎娉曠姸鎬侊紝瀵艱嚧鏃墮棿嫻垂銆?br />鎵璋撶簿綆錛屾槸鎸囧湪棰勫鐞嗕互鍙奃P榪囩▼涓紝灝介噺閬垮紑涓嶅悎娉曠姸鎬併?br />錛?錛夐澶勭悊涓殑綺劇畝錛?br />鍖呮嫭3涓儴鍒嗭細
<1>鎵懼埌鎵鏈夊彲鑳界殑鍚堟硶鐘舵佸茍緙栧彿錛氭牴鎹鎰忛檺鍒訛紝鏈夌殑鐘舵佸湪闃舵鍐呭氨涓嶅悎娉曪紙姣斿鏈錛屼竴琛屼竴闃舵錛岄偅涔堝嚒鏄湁涓や釜1浣嶇殑璺濈灝忎簬2鐨勭姸鎬侀兘涓嶅悎娉曪級錛岃屼笖榪欑鐘舵佹墍鍗犵殑姣旈噸寰寰榪樺緢澶э紙鏈涓紝M=10鏃訛紝涔熷彧鏈?0縐嶅彲鑳界殑鍚堟硶鐘舵侊級錛屾鏃訛紝涓轟簡鎵懼埌榪欎簺鍚堟硶鐘舵侊紝鍙互DFS鏋勯犲疄鐜般?br />闇瑕佹敞鎰忕殑鏄紝鏈夌殑棰樹笉鍏夎鎵懼埌涓涓樁孌靛唴鐨勫悎娉曠姸鎬侊紝榪樿鎵懼埌涓や釜鎴栦袱涓互涓婇樁孌靛唴鐨勫悎娉曠姸鎬侊紙姣斿閭d釜鏈夊叧澶氱背璇洪鐗岀殑棰橈級錛屾鏃墮渶瑕佷袱涓猧nt鍚屾椂DFS錛?br />鍦ㄦ壘鍒板悎娉曠姸鎬佷互鍚庯紝闇瑕佸姣忎釜鍚堟硶鐘舵佽繘琛岀紪鍙鳳紝浠ヨ揪鍒?#8220;鍘嬬緝”鐨勭洰鐨勩傝繖閲屽氨娑夊強鍒頒簡鐘舵佺紪鍙峰拰鐘舵佽〃紺虹殑闂錛氭瘮濡傦紝鐘舵?001錛岃〃紺轟負9錛屽湪DFS涓涓涓鎼滃埌錛屽洜姝ょ紪鍙蜂負0錛屼笉瑕佹悶娣蜂簡榪欎袱涓紙灝ゅ叾涓嶈鎼炴販“緙栧彿涓?”鍜?#8220;鐘舵佽〃紺轟負0”錛屽畠浠槸涓嶅悓鐨勶級銆傚湪棰勫鐞嗗拰DP鐨勮繃紼嬩腑錛屾墍鏈夋秹鍙婂埌鐘舵佺殑鏁扮粍涓嬫爣錛屽叏閮ㄦ槸緙栧彿鑰屼笉鏄〃紺猴紝鐭ラ亾緙栧彿瑕佹眰琛ㄧず錛屽彲浠ュ湪DFS涓褰曠殑鏁扮粍閲岄潰璋冿紝鑰岀煡閬撹〃紺鴻姹傜紪鍙鳳紝鍙互鍒╃敤閫嗘暟緇勬垨鑰呭搱甯岋紱
<2>鎵懼埌姣忎竴闃舵鐨勫悎娉曠姸鎬侊細鍗充嬌鏄?lt;1>涓鍒ゅ畾涓哄悎娉曠殑鐘舵侊紝鍦ㄥ叿浣撶殑鍚勪釜闃舵涓篃鏈繀鍚堟硶錛堟瘮濡傛湰棰橈紝濡傛灉鏌愪竴琛岀殑鏌愪竴涓綅緗槸'H'錛屼笉鑳芥斁錛岃屾煇涓涓姸鎬佸湪榪欓噷鏀句簡錛屽垯涓嶅悎娉曪級錛屽洜姝よ瀵規瘡涓樁孌靛啀鏋氫婦涓閬嶏紝鎵懼埌鐪熸鍚堟硶鐨勭姸鎬侊紝騫惰鍏ヤ竴涓獀ector錛?br /><3>鎵懼埌鐘舵佽漿縐諱腑鐨勫悎娉曠姸鎬侊細鍦ㄧ姸鎬佽漿縐諱腑錛屽線寰瑕佹眰鐘舵佷笉鍐茬獊錛堟瘮濡傛湰棰橈紝鍦ㄨ繛緇殑涓変釜闃舵涓紝閮戒笉鑳芥湁鏌愪竴浣嶆湁涓や釜涓?鐨勬儏鍐碉級錛屽洜姝わ紝榪樿鏋氫婦姣忎釜鐘舵佸湪杞Щ鏃朵笌鍏朵笉鍐茬獊鐨勭姸鎬侊紝騫惰鍏ector銆?br />娉ㄦ剰錛屾湁鏃跺欒繖涓姝ヤ笉鏄緢瀹規槗榪涜錛岄渶瑕佸湪DP榪囩▼涓繘琛岋紱
錛?錛塂P榪囩▼涓殑綺劇畝錛?br />DP榪囩▼涓紝鏋氫婦鐘舵併佽漿縐誨喅絳栭兘鍙灇涓懼悎娉曠殑錛屽湪vector閲岄潰璋冿紙娉ㄦ剰vector閲岃褰曠殑鍏ㄩ兘鏄姸鎬佺紪鍙瘋屼笉鏄〃紺猴紒錛夛紝鍙互澶уぇ鍑忓皯鏋氫婦閲忥紝涓嶈繃鏈夋椂鍊欙紝榪樹細鏈変竴浜涙椂闂存氮璐癸紝榪欐椂鍊欙紝鍙互閲囧彇涓浜涘叾瀹冪殑鍔炴硶鏉ョ簿綆錛屾瘮濡傚啀嬈¤繘琛孌FS鏋勯犲悎娉曠姸鎬佺瓑銆?br />
鎬諱箣錛岃繖綾婚棶棰樼殑鐩爣灝辨槸“綺劇畝錛岀簿綆錛屽啀綺劇畝錛屼嬌鏋氫婦鍒扮殑涓嶅悎娉曠姸鎬佸噺鍒版渶灝?#8221;銆?br />浠g爜錛?br />
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<vector>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define pb push_back
#define IR iterator
typedef vector 
<int> vi;
const int MAXN = 103, MAXM = 11, MAXS = 100, INF = ~0U >> 2;
int n, m, S, A[MAXN], B[MAXS], T1[MAXS], F[MAXN][MAXS][MAXS], res;
bool F0[MAXN][MAXS];
vi P0[MAXN], P1[MAXS][MAXS];
void init()
{
     scanf(
"%d%d"&n, &m); getchar();
     re1(i, n) {A[i] 
= 0; re(j, m) A[i] |= ((getchar() == 'P'<< j); getchar();}
}
void dfs(int v, int ST)
{
    
if (v >= m) B[S++= ST; else {dfs(v + 3, ST | (1 << v)); dfs(v + 1, ST);}
}
void prepare()
{
    S 
= 0; dfs(00);
    re(i, S) {T1[i] 
= 0for (int j=B[i]; j; j-=j&(-j)) T1[i]++;}
    re1(i, n) re(j, S) 
if (!(~A[i] & B[j])) {P0[i].pb(j); F0[i][j] = 1;} P0[0].pb(S - 1); F0[0][S - 1= 1;
    re(i, S) re(j, S) 
if (!(B[i] & B[j])) re(k, S) if (!(B[i] & B[k]) && !(B[j] & B[k])) P1[i][j].pb(k);
}
void solve()
{
    re3(i, 
0, n) re(j1, S) re(j2, S) F[i][j1][j2] = -INF; F[0][S - 1][S - 1= 0;
    vi::IR vi_e0, vi_e1, vi_e2; 
int j0, j1, k, V;
    re(i, n) {
        vi_e0 
= P0[i].end(); if (i) vi_e1 = P0[i - 1].end(); else vi_e1 = P0[i].end();
        
for (vi::IR p=P0[i].begin(); p != vi_e0; p++)
            
for (vi::IR p_=P0[i ? i - 1 : i].begin(); p_ != vi_e1; p_++) {
                j0 
= *p; j1 = *p_;
                
if (!(B[j0] & B[j1])) {
                    vi_e2 
= P1[j0][j1].end();
                    
for (vi::IR p__ = P1[j0][j1].begin(); p__ != vi_e2; p__++) {
                        k 
= *p__;
                        
if (F0[i + 1][k]) {
                            V 
= F[i][j0][j1] + T1[k];
                            
if (V > F[i + 1][k][j0]) F[i + 1][k][j0] = V;
                        }
                    }
                }
            }
    }
    res 
= 0; re(i, S) re(j, S) if (F[n][i][j] > res) res = F[n][i][j];
}
void pri()
{
     printf(
"%d\n", res);
}
int main()
{
    init();
    prepare();
    solve();
    pri();
    
return 0;
}


Mato_No1 2012-03-10 23:27 鍙戣〃璇勮
]]>
KMP銆丄C鑷姩鏈哄湪瀛楃涓插尮閰嶇被鍔ㄦ佽鍒掗棶棰樹腑鐨勫簲鐢?/title><link>http://www.shnenglu.com/MatoNo1/archive/2011/10/30/159339.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Sun, 30 Oct 2011 03:22:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2011/10/30/159339.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/159339.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2011/10/30/159339.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/159339.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/159339.html</trackback:ping><description><![CDATA[鏈変竴綾誨姩鎬佽鍒掞紙鍏朵腑涔熷寘鍚掓帹錛夐棶棰橈紝瑕佹眰婊¤凍涓浜涢檺鍒舵潯浠剁殑瀛楃涓詫紝榪欎簺闄愬埗鏉′歡鏄?#8220;闇瑕佸惈鏈夋煇涓瓙涓?#8221;鎴?#8220;涓嶈兘鍚湁鏌愪釜瀛愪覆”錛岄偅涔圞MP銆丄C鑷姩鏈虹瓑灝辨湁澶х敤浜嗐?br /><br />銆愪緥1銆?a title="HDU3689" >HDU3689</a><br />棰樻剰錛氬瓧絎﹂泦涓湁涓浜涘瓧絎︼紝緇欏嚭姣忎釜瀛楃鐨勫嚭鐜版鐜囷紙瀹冧滑鐨勫拰淇濊瘉涓?錛夛紝鍐嶇粰鍑轟竴涓瓙涓睟錛屾眰錛氫換緇欎竴涓暱搴︿負N鐨勫瓧絎︿覆A錛堝彧鑳藉寘鍚瓧絎﹂泦涓殑瀛楃錛夛紝浣垮緱S鏄疉鐨勫瓙涓茬殑姒傜巼銆?br /><br />姹傝В榪欑被闂棣栧厛瑕佽繘琛岃ˉ闆嗚漿鍖栥傚洜涓哄瓙涓插彲鑳芥湁閲嶅彔錛堟瘮濡?ababa"涓氨鍑虹幇浜嗕袱涓?aba"錛夛紝鎵浠ュ厛杞寲涓?#8220;姹備換緇欎竴涓暱搴︿負N鐨勫瓧絎︿覆A錛堝彧鑳藉寘鍚瓧絎﹂泦涓殑瀛楃錛夛紝浣垮緱<span style="color: red"><strong>B涓嶆槸A鐨勫瓙涓?/strong></span>鐨勬鐜?#8221;錛岀劧鍚庡啀鐢?鍑忓幓榪欎釜姒傜巼鍗充負緇撴灉銆?br />璁綟[i][j]涓?#8220;鍦ㄦ墍鏈夐暱搴︿負i鐨?span style="color: red"><strong>涓嶅嚭鐜癇</strong></span>鐨勫瓧絎︿覆涓紝鍚庣紑涓嶣鐨勫墠緙鍖歸厤闀垮害涓簀錛堝嵆璇ュ瓧絎︿覆鐨勫悗緙涓嶣鐨勫墠緙鐨?span style="color: red"><strong>鏈澶?/strong></span>鍖歸厤闀垮害涓簀錛夌殑姒傜巼”錛屽緢鏄劇劧錛孎鏄敱閫掓帹寰楀埌浜嗭紝鍏抽敭鏄浣曡繘琛岀姸鎬佽漿縐伙紵鎴栬呰錛屽湪閫掓帹榪囩▼涓紝鍝簺鐘舵佸彲鑳芥垚涓篎[i][j]鐨勫墠瓚嬬姸鎬侊紵<br />鍋囪F[i-1][k]鏄疐[i][j]鐨勫墠瓚嬬姸鎬侊紝涔熷氨鏄錛?span style="color: red"><strong>鍦ㄥ瓧絎﹂泦涓嚦灝戝瓨鍦ㄤ竴涓瓧絎錛屼嬌寰椾富涓茬殑絎琲浣嶏紙鏈鍚庝竴浣嶏級鍙朿鏃訛紝鑳藉浠嶧[i-1][k]杞Щ鍒癋[i][j]</strong></span>銆傝繖灝遍渶瑕佹眰涓涓糞[k][c]錛岃〃紺哄綋涓諱覆鐨勫悗緙涓嶣鐨勫墠緙鐨勶紙鏈澶э級鍖歸厤闀垮害涓簁鏃訛紝鍦ㄤ富涓插悗鍐嶅姞涓婁竴涓瓧絎錛屽叾鍖歸厤闀垮害浼氬彉鎴愪粈涔堛備婦渚嬶細璁劇洰鍓嶄富涓睞'="abasab"錛孊="asabs"錛屽叾鍖歸厤闀垮害涓?錛岃嫢鍦ˋ'鍚庡姞涓婁竴涓瓧絎?s'錛屽垯鍖歸厤闀垮害鍙樹負5錛屾墍浠[4]['s']=5錛岃岃嫢鍦ˋ'鍚庡姞涓婁竴涓瓧絎?a'錛屽垯鍖歸厤闀垮害浼氬彉鎴?錛屾墍浠[4]['a']=1銆傛樉鐒禨鍊煎拰A鍓嶉潰鐨勫摢浜涘瓧絎︽槸娌℃湁鍏崇郴鐨勩?br />閭d箞榪欎釜S鍊煎浣曡綆楋紵鍏跺疄鍙互鍙戠幇錛孲鍜孠MP綆楁硶涓殑nx鏁扮粍紲炰技錛屽洜姝ゅ畬鍏ㄥ彲浠ユ寜鐓ц綆梟x鏁扮粍鐨勫姙娉曟潵璁$畻S銆傚叿浣撴潵璇達紝鍏堣瀵笲浣淜MP鑷韓鍖歸厤錛屾眰鍑哄叾nx鏁扮粍錛岀劧鍚庯紝鍦ㄦ眰S[k][c]鐨勬椂鍊欙紝灝濊瘯鍦˙鐨勭k浣嶏紙鐢變簬B鐨勪笅鏍囦粠0寮濮嬫墍浠[k-1]錛夊悗鍔犱笂瀛楃c錛岀湅鐪嬩細“鍥為”鍒板摢閲屽嵆鍙備唬鐮侊細 <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">     </span><span style="color: #0000ff">int</span><span style="color: #000000"> j </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; nx[</span><span style="color: #000000">0</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />     re2(i, </span><span style="color: #000000">1</span><span style="color: #000000">, m) {<br />            </span><span style="color: #0000ff">while</span><span style="color: #000000"> (j </span><span style="color: #000000">&&</span><span style="color: #000000"> A[i] </span><span style="color: #000000">!=</span><span style="color: #000000"> A[j]) j </span><span style="color: #000000">=</span><span style="color: #000000"> nx[j </span><span style="color: #000000">-</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">];<br />            </span><span style="color: #0000ff">if</span><span style="color: #000000"> (A[i] </span><span style="color: #000000">==</span><span style="color: #000000"> A[j]) j</span><span style="color: #000000">++</span><span style="color: #000000">;<br />            nx[i] </span><span style="color: #000000">=</span><span style="color: #000000"> j;<br />     }<br />     re(i, m) re(k, SZ) {<br />           j </span><span style="color: #000000">=</span><span style="color: #000000"> i;<br />           </span><span style="color: #0000ff">while</span><span style="color: #000000"> (j </span><span style="color: #000000">&&</span><span style="color: #000000"> A[j] </span><span style="color: #000000">!=</span><span style="color: #000000"> k </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">97</span><span style="color: #000000">) j </span><span style="color: #000000">=</span><span style="color: #000000"> nx[j </span><span style="color: #000000">-</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">];<br />           </span><span style="color: #0000ff">if</span><span style="color: #000000"> (A[j] </span><span style="color: #000000">==</span><span style="color: #000000"> k </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">97</span><span style="color: #000000">) S[i][k] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">++</span><span style="color: #000000">j; </span><span style="color: #0000ff">else</span><span style="color: #000000"> S[i][k] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />     }</span></div>榪欓噷m鏄疊鐨勯暱搴︺傛敞鎰忥紝褰搃=m鏃訛紝S[i][j]鏄棤鎰忎箟鐨勶紝鍥犱負鍓嶉潰宸茬粡璇磋繃浜嗕笉鑳藉嚭鐜癇銆?br />鍦ㄦ眰鍑篠鍊煎悗灝辮兘姹傚嚭F鍊間簡銆傚浜庣姸鎬丗[i][j]錛岃嫢瀛樺湪涓涓瓧絎浣垮緱x=S[i][c]錛堟弧瓚?<=x<m錛夛紝鍒橣[i][j]鏄疐[i+1][x]鐨勫墠瓚嬬姸鎬併傚綋鐒訛紝鐢變簬鏈鏄眰姒傜巼鑰屼笉鏄眰鎬繪暟錛屼笖姣忎釜瀛楃鍑虹幇鐨勬鐜囪繕涓嶄竴鏍鳳紝鎵浠ヨ漿縐葷殑鏃跺欙紝搴旀槸灝咶[i+1][x]鍔犱笂F[i][j]*P[c]錛圥[c]鏄瓧絎鍑虹幇鐨勬鐜囷級錛岃竟鐣岋細F[0][0]=1錛孎[0][1..m-1]鍧囦負0銆?br />鏈緇堢粨鏋滀負1-∑F[N][0..m-1]銆?br /><br /><a title="浠g爜" >浠g爜</a><br /><br />銆愪緥2銆?a title="PKU1625" >PKU1625</a>錛?a title="URAL1158" >URAL1158</a>錛?br />棰樻剰錛氱粰鍑轟竴浜涘瓙涓詫紝姹傞暱搴︿負N錛屽悇涓瓧絎﹂兘灞炰簬緇欏畾鐨勫瓧絎﹂泦鐨勬墍鏈夊瓧絎︿覆涓紝涓嶅寘鍚換浣曚竴涓粰鍑虹殑瀛愪覆鐨勫瓧絎︿覆涓暟錛堥渶瑕佷嬌鐢ㄥ帇9浣嶇殑楂樼簿搴︼級銆?br /><br />鏈鏄劇劧鏄愪緥1銆戠殑澶氬瓙涓插艦寮忥紝鑰岀敤鏉ヨВ鍐沖涓瓧絎︿覆鍚屾椂鍖歸厤鐨勫彧鏈堿C鑷姩鏈猴紝閭d箞濡備綍鍦ㄦ湰棰樹腑浣跨敤AC鑷姩鏈烘眰瑙e憿錛?br />瑙傚療銆愪緥1銆戜腑鐨凢[i][j]錛屽彲浠ユ兂璞′竴涓嬶紝涓涓浘涓湁m涓《鐐癸紝鍒嗗埆琛ㄧず鍖歸厤闀垮害涓?..(m-1)錛岀劧鍚庝笉鏂柊鍔犲叆鐨勫瓧絎﹁榪欎簺鐘舵佸湪榪欎簺緇撶偣闂翠笉鏂漿縐伙紙鐘舵佽漿縐誨氨鏄浘涓殑杈癸級錛岃繖鏍鳳紝F[i][<span>j]灝辮〃紺?#8220;闃舵i鍒拌揪緇撶偣j涓?#8221;銆傝孉C鑷姩</span><span>鏈烘槸鍩轟簬Trie錛堟爲錛夌殑錛?/span><span>鍏朵腑鏈夌幇鎴?/span><span>鐨勭粨</span><span>鐐癸紝榪欏氨鎻ず浜嗘湰棰樼殑鐘?/span><span>鎬?/span><span><strong>錛?/strong></span><br /><span>F[i][j]</span><span>琛?/span><span>紺?/span><strong><span style="color: #ff0000">闀垮害涓篿鐨勫悎娉曠殑瀛楃涓詫紙灝辨槸婊¤凍瀛楃闆嗛檺鍒朵笖涓嶅寘鍚換浣曚竴涓粰瀹氬瓙涓詫級涓紝鍦ㄥ尮閰嶅埌鏈鍚庝竴浣嶏紙</span></strong><strong style="color: #ff0000">絎琲浣嶏級鍚庯紝鍒氬ソ鍒拌揪緇撶偣j鐨勫瓧絎︿覆鐨?/strong><strong style="color: #ff0000">涓暟</strong>銆?br />鍚屾牱錛孲[k][c]琛ㄧず“鐩墠鍒拌揪緇撶偣k錛屾帴涓嬫潵鐨勪竴涓瓧絎︽槸c鐨勬椂鍊欙紝浼氬埌杈懼摢涓粨鐐廣傚湪瀵規墍鏈夌殑瀛愪覆寤虹珛浜嗚嚜鍔ㄦ満涔嬪悗錛孲鍊煎彧瑕佺被浼煎湴鎼炲氨鑳芥眰鍑烘潵浜嗐傜劧鍚嶧鐨勮漿縐諱篃灝辨悶瀹氫簡銆?br />涓嶈繃錛屾湰棰樿涓囧垎娉ㄦ剰AC鑷姩鏈虹殑涓涓狟UG錛氬湪寤虹珛浜嗚嚜鍔ㄦ満浠ュ悗錛岄渶瑕佹妸鎵鏈夋湰韜笉鍗遍櫓錛堝鏋滀竴涓粨鐐逛唬琛ㄧ殑瀛楃涓插垰濂芥槸鏌愪竴涓粰鍑虹殑涓嶈兘鍑虹幇鐨勫瓙涓詫紝鍒欒緇撶偣鏄嵄闄╃粨鐐癸級錛屼絾閫氳繃澶辮觸鎸囬拡涓嶆柇涓婃函鑳藉鍒拌揪涓涓嵄闄╃粨鐐圭殑緇撶偣錛屼篃鏍囪涓哄嵄闄╃粨鐐癸紝姣斿涓や釜瀛愪覆鏄?abcde"鍜?bc"錛屽垯浠h〃"abcd"鐨勯偅涓粨鐐圭敱浜庡寘鍚簡"bc"鎵浠ヤ篃鏄嵄闄╃殑銆?br />姝ゅ錛屾湰棰樼殑杈撳叆瑕佹敞鎰忥紝瀛楃闆嗙殑ASCII鐮佽寖鍥存槸-128~127錛屾墍浠ュ繀欏葷敤char鑰屼笉鏄痷nsigned char錛屼笖鐢變簬鍙兘鍖呭惈絀烘牸鎵浠ュ繀欏葷敤gets()鑰屼笉鏄痵canf()杈撳叆錛屽張鍥犱負C/C++涓湪鏈夎礋鏁頒笅鏍囷紝鍥犳鍦ㄨ緭鍏ヤ箣鍚庤繕瑕佽漿鍖栦竴涓嬶紙鍔?28錛夈?br /><br /><a title="浠g爜" >浠g爜</a><br /><br />銆愪緥3銆?a title="PKU3691" >PKU3691</a><br />棰樻剰錛氱粰鍑轟竴浜涘瓙涓插拰涓涓瓧絎︿覆A錛堝叾姣忎釜瀛楃鍧囧睘浜庡瓧絎﹂泦{'A', 'C', 'G', 'T'}錛夛紝姹傝嚦灝戣鏀瑰姩A鐨勫嚑涓瓧絎︼紙涓嶈兘鏀規垚涓嶅睘浜庡瓧絎﹂泦鐨勫瓧絎︼級錛屼嬌寰楀畠涓嶅寘鍚換浣曚竴涓粰鍑虹殑瀛愪覆錛岃嫢涓嶇鎬庝箞鏀歸兘涓嶈錛屽垯緇撴灉涓?1銆?br /><br />榪欏氨鏄湡姝g殑DP浜嗐傝F[i][j]涓哄墠i浣嶏紝鍒拌揪鐨勭粨鐐逛負j錛屾渶灝戞敼鍔ㄧ殑瀛楃涓暟錛屽垯杞Щ鏂圭▼涓?br />F[i][j] = min{F[i-1][x] + (A[i] != c)}錛宑∈{'A', 'C', 'G', 'T'}錛孲[x][c]=j銆傝竟鐣岋細F[0][root]=0錛屽叾浣欑殑F[0][]=+∞錛孉鐨勫疄闄呬笅鏍囦粠1寮濮嬨?br />姹係鏁扮粍鐨勬柟娉曡銆愪緥2銆?br /><br /><a title="浠g爜" >浠g爜</a><br /><br />銆愪緥4銆?a title="PKU3208" >PKU3208</a><br />棰樻剰錛氬惈鏈夎繛緇殑涓変釜鏁板瓧6鐨勬鏁存暟錛岀О涓?beastly number"錛屾眰絎琍涓紙1<=P<=50000000錛?beastly number"錛堝叾浣嶆暟涓嶄細瓚呰繃15浣嶏級銆?br />錛堣繖棰樻槸鏈矙鑼跺湪PKU涓婅嚦浠婁負姝紝鑷繁鎯沖嚭綆楁硶鐨凙C浜烘暟鏈灝戠殑棰橈級<br />鏈鍏跺疄鏄敤涓嶇潃KMP鐨勶紝鍥犱負"666"榪欐牱綆鍗曠殑瀛愪覆……<br /><br />鎬濊礬錛氱敱浜庝綅鏁頒笉浼氳秴榪?5浣嶏紙鍚庢潵鍙戠幇鏈澶氬彧鏈?0浣嶏級錛屾墍浠ユ瘡涓?beastly number"閮藉彲浠ョ湅鎴愪竴涓暱搴︿負15錛屽瓧絎﹂泦涓篬'0'..'9']鐨勫瓧絎︿覆錛堟敞鎰忔槸鍙互鏈夊墠瀵?鐨勶紝鍥犱負浣嶆暟鍙兘涓嶈凍15浣嶏級A錛屾暣涓繃紼嬩篃灝辨槸浠庨珮浣嶏紙絎?浣嶏級鍚戜綆浣嶏紙絎?4浣嶏級姹傚嚭A鐨勫悇浣嶃?br /><br />棰勫鐞嗭細姹傚嚭F[i][j]錛岃〃紺鴻嫢A鐨勫墠i浣嶅凡緇忕‘瀹氾紙鍏朵腑涓嶅惈"666"錛屽噯紜潵璇存槸闈炴湯灝句笉鍚?666"錛夛紝涓斿墠i浣嶇殑鏈熬鍒氬ソ鏈塲涓?6'錛坖鐨勮寖鍥存槸0鍒?錛夋椂錛屾湁澶氬皯涓?beastly number"錛堟敞鎰忥紝鍓峣浣嶆棦鐒跺凡緇忕‘瀹氾紝灝變笉鍙洿鏀逛簡錛岃兘澶熷喅瀹氱殑鍙湁絎琲浣嶇殑鍚庨潰錛夈?br />鏄劇劧鍏堣姹傚嚭F0[i][j]琛ㄧず鏈夊灝戜釜涓嶆槸"beastly number"銆傚叾閫掓帹鏂圭▼涓嶅ソ鍐欙紝瑙佷唬鐮侊紙鍏跺疄涔熸槸寰堝ソ鐞嗚В鐨勶級銆傜劧鍚嶧[i][j]=10<sup>14-i</sup> - F0[i][j]銆?br /><br />鐒跺悗灝辨槸涓嶆柇璋冩暣杈圭晫鏉ユ瀯閫犱簡銆傚噯紜潵璇達紝璁懼墠i-1浣嶅凡緇忕‘瀹氾紝鐜板湪瑕佺‘瀹氱i浣嶏紝鍒欐灇涓劇i浣嶆槸0~9涓殑鍝釜鍊鹼紝鐒跺悗姹傚嚭婊¤凍鏉′歡鐨勬渶灝忕殑"beastly number"鍜屾渶澶х殑"beastly number"鐨勫悕嬈★紙娉ㄦ剰錛屽悕嬈℃槸浠?寮濮嬬殑錛夛紝鐪嬬湅P鍦ㄤ笉鍦ㄥ叾涓紝榪欐牱灝辮兘紜畾浜嗐備弗閲嶆敞鎰忥細濡傛灉宸茬‘瀹氱殑浣嶆暟涓凡緇忓嚭鐜頒簡"666"錛屾帴涓嬫潵鐨勫氨涓嶇敤鏋氫婦浜嗭紝鐩存帴鍦ㄥ悗闈㈡帴涓奝-L灝辮浜嗭紝L涓哄乏杈圭晫銆?br /><br />浣嗘槸錛屼負浠涔堣鎶婃湰棰樻斁鍦↘MP鐨勪笓棰橀噷闈㈠憿鍥э紵<span>鍥犱負濡傛灉榪欎釜瀛愪覆涓嶆槸"666"鑰屾槸涓浜涚粨鏋勫</span><span>鏉傜殑涓滀笢姣斿"123131"榪欐牱鐨勶紝鍙湁鍊熷姪K</span><span>MP綆楁硶浜嗐傝繖鏃訛紝F[i][j]灝辮〃紺?A鐨勫墠i浣嶅凡緇忕‘瀹氾紙闈炴湯灝句笉鍚繖涓瓙涓詫級錛屼笖鍏跺悗緙涓庤繖涓瓙涓茬殑鍓嶇紑鍖?/span><span>閰嶉暱搴︿負</span><span>j錛?/span>鏈夊灝戜釜"beastly number" 錛岃漿縐繪柟紼嬩笌鍓嶅嚑涓緥瀛愮被浼箋?br /><br /><a title="浠g爜" >浠g爜</a><br /><br />鎬葷粨錛?br />KMP綆楁硶鍜孉C鑷姩鏈虹殑鐘舵佽漿縐繪ц川鍐沖畾浜嗗畠浠湪瀛楃涓插尮閰嶇被DP闂涓殑宸ㄥぇ浣滅敤銆傚湪瀹為檯搴旂敤涓紝瑕佹敞鎰忕伒媧諱嬌鐢ㄥ畠浠傛澶栵紝AC鑷姩鏈虹殑閭d釜BUG鏄竴瀹氳娉ㄦ剰鐨勩?<img src ="http://www.shnenglu.com/MatoNo1/aggbug/159339.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2011-10-30 11:22 <a href="http://www.shnenglu.com/MatoNo1/archive/2011/10/30/159339.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>PKU3017http://www.shnenglu.com/MatoNo1/archive/2011/07/08/150454.htmlMato_No1Mato_No1Fri, 08 Jul 2011 04:40:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2011/07/08/150454.htmlhttp://www.shnenglu.com/MatoNo1/comments/150454.htmlhttp://www.shnenglu.com/MatoNo1/archive/2011/07/08/150454.html#Feedback1http://www.shnenglu.com/MatoNo1/comments/commentRss/150454.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/150454.html銆愬師棰樿榪欓噷銆?br />
鏈矙鑼惰榪囩殑鏈鐚ョ悙鐨凞P棰樺晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟婂晩鍟?#8230;…

璁綟[i]涓哄皢A[1..i]鎷嗗垎鎴愯嫢騫叉鐨勬渶澶у兼渶灝忓拰錛屽垯鏈?br />F[i]=min{F[j] + max[j+1, i]}錛圔[i]<=j<i錛夛紝鍏朵腑max[j+1, i]琛ㄧずA[j+1..i]涓殑鏈澶у鹼紝B[i]琛ㄧず浠巌鍚戝乏鏈榪滃彲浠ュ歡浼稿埌鍝噷錛堜篃灝辨槸婊¤凍SUM[x..i]<=m鐨勬渶灝忕殑x鍊鹼級銆侭鏁扮粍鍙互閫氳繃棰勫鐞嗗湪O(N)鏃墮棿鍐呭緱鍒般?br />杈圭晫錛欶[0]=0銆?br />
涓嬮潰鏄紭鍖栬繃紼嬨侸ZP紲炵妵鐨勮鏂囬噷闈㈠凡緇忓璇︾粏浜嗐傝繖閲屽彧鏄畝瑕佽鏄庝竴涓嬨?br />棣栧厛瀹規槗璇佹槑錛孎鏄崟璋冮掑鐨勩?br />鐒跺悗涓涓緢鍏抽敭鐨勫畾鐞嗘槸錛?strong style="color: red">鑻[i]鐨勬渶浼樺喅絳栦負j錛屽垯鏈堿[j]>∀A[k]錛坖<k<=i錛夈?/strong>
璇佹槑錛氱敤鍙嶈瘉娉曘傝嫢A[j+1..i]涓瓨鍦ㄤ笉灝忎簬A[j]鐨勫鹼紝鍒欏彲寰梞ax[j..i]=max[j+1..i]錛屽張鍥犱負F鍗曡皟閫掑錛屾墍浠[j-1]+max[j..i]<=F[j]+max[j+1.i]錛屽嵆鍐崇瓥(j-1)涓瀹氫笉姣斿喅絳杍宸紝涔熷氨鏄喅絳杍涓嶅彲鑳芥垚涓烘渶浼樺喅絳栥?br />榪欐牱錛屽彲浠ョ淮鎶や竴涓笅鏍囦弗鏍奸掑銆丄鍊間弗鏍奸掑噺鐨勯槦鍒桻錛堝嵆瀵逛簬闃熷垪涓殑浠繪剰涓や釜鍏冪礌Q[i]鍜孮[j]錛岃嫢i<j錛屽垯Q[i].pos<Q[j].pos涓擜[Q[i].pos]>A[Q[j].pos]錛屽叿浣撳疄鐜版椂pos鍙渷鐣ワ級銆傚垯鍙兘鎴愪負鏈浼樺喅絳栫殑鍐崇瓥瑕佷箞鏄湪榪欎釜闃熷垪Q閲岋紝瑕佷箞鏄疊[i]銆傚浜庨槦鍒椾腑鐨勬煇涓喅絳朡[x]錛岃鍐崇瓥瀵煎嚭鐨勫間負F[Q[x]]+A[Q[x + 1]]錛堝緢瀹規槗璇佹槑max[Q[x]+1..i]=A[Q[x + 1]]錛夛紝鎵懼埌榪欎簺瀵煎嚭鐨勫間腑鐨勬渶灝忓煎嵆鍙紙娉ㄦ剰錛岄槦灝懼厓绱犳病鏈夊鍑哄鹼級銆傚浜庡喅絳朆[i]錛屽彧闇瑕佸湪棰勫鐞嗙殑鏃跺欏悓鏃跺緱鍒癕AX[i]=max[B[i]+1..i]鍗沖彲錛堜篃鍙互鍦∣(N)鏃墮棿鍐呭緱鍒幫級錛屽喅絳朆[i]瀵煎嚭鐨勫間負F[B[i]]+MAX[i]銆?br />鍦ㄥ垹闄ら槦棣栬繃鏃跺厓绱犵殑鏃跺欙紝闇瑕佹妸瀵煎嚭鍊間篃鍒犻櫎錛屽垹闄ら槦灝懼厓绱犱篃涓鏍鳳紝鎻掑叆鐨勬椂鍊欙紝鑻ユ彃鍏ュ墠闃熷垪涓嶄負絀猴紝鍒欓渶瑕佹彃鍏ヤ竴涓鍑哄箋備篃灝辨槸錛岄渶瑕佷竴涓敮鎸佸湪瀵規暟鏃墮棿鍐呰繘琛屾彃鍏ャ佸垹闄や換鎰忕粨鐐廣佹壘鏈灝忓肩瓑鎿嶄綔錛屾樉鐒剁敤騫寵 鏍戞渶濂姐?br />
娉ㄦ剰浜嬮」錛?br />錛?錛変笉綆℃槸鍦ㄩ槦棣栧垹闄よ繕鏄湪闃熷熬鍒犻櫎錛岃嫢鍒犻櫎鐨勬槸闃熷垪涓殑鏈鍚庝竴涓厓绱狅紝鍒欎笉闇瑕佸湪騫寵 鏍戜腑鍒犻櫎瀵煎嚭鍊鹼紱
錛?錛夋彃鍏ユ椂錛岃嫢鎻掑叆鍓嶉槦鍒椾負絀猴紝鍒欎笉闇瑕佸湪騫寵 鏍戜腑鎻掑叆瀵煎嚭鍊鹼紱
錛?錛夊湪璁$畻F[i]鏃訛紝搴斿厛灝嗗喅絳杋鍘嬪叆銆?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
using namespace std;
#define re1(i, n) for (int i=1; i<=n; i++)
const int MAXN = 100001;
struct node {
    
int l, r, p, sz0, sz, mul;
    
long long v;
} T[MAXN];
const long long INF = ~0Ull >> 2;
int n, N = 0, a[MAXN], b[MAXN], MAX[MAXN], Q[MAXN], front = 0, rear = -1, root = 0;
long long m, F[MAXN], res = 0;
void init()
{
    cin 
>> n >> m;
    re1(i, n) scanf(
"%d"&a[i]); a[0= ~0U >> 2;
}
void prepare()
{
    re1(i, n) 
if (a[i] > m) {res = -1return;}
    
int x = 1;
    
long long sum = 0;
    re1(i, n) {
        
for (sum+=a[i]; sum>m; sum-=a[x++]) ;
        b[i] 
= x - 1;
    }
    re1(i, n) {
        
for (; front<=rear && Q[front]<=b[i]; front++) ;
        
for (; front<=rear && a[Q[rear]]<=a[i]; rear--) ;
        Q[
++rear] = i; MAX[i] = a[Q[front]];
    }
}
void vst(int x)
{
    
if (x) {
        cout 
<< T[x].v << ' ';
        vst(T[x].l); vst(T[x].r);
    }
}
void slc(int _p, int _c)
{
    T[_p].l 
= _c; T[_c].p = _p;
}
void src(int _p, int _c)
{
    T[_p].r 
= _c; T[_c].p = _p;
}
void upd(int x)
{
    T[x].sz0 
= T[T[x].l].sz0 + T[T[x].r].sz0 + T[x].mul;
    T[x].sz 
= T[T[x].l].sz + T[T[x].r].sz + 1;
}
void lrot(int x)
{
    
int y = T[x].p;
    
if (y == root) T[root = x].p = 0else {int p = T[y].p; if (y == T[p].l) slc(p, x); else src(p, x);}
    src(y, T[x].l); slc(x, y); T[x].sz0 
= T[y].sz0; T[x].sz = T[y].sz; upd(y);
}
void rrot(int x)
{
    
int y = T[x].p;
    
if (y == root) T[root = x].p = 0else {int p = T[y].p; if (y == T[p].l) slc(p, x); else src(p, x);}
    slc(y, T[x].r); src(x, y); T[x].sz0 
= T[y].sz0; T[x].sz = T[y].sz; upd(y);
}
void maintain(int x, bool ff)
{
    
int z;
    
if (ff) {
        
if (T[T[T[x].r].r].sz > T[T[x].l].sz) {z = T[x].r; lrot(z);}
        
else if (T[T[T[x].r].l].sz > T[T[x].l].sz) {z = T[T[x].r].l; rrot(z); lrot(z);} else return;
    } 
else {
        
if (T[T[T[x].l].l].sz > T[T[x].r].sz) {z = T[x].l; rrot(z);}
        
else if (T[T[T[x].l].r].sz > T[T[x].r].sz) {z = T[T[x].l].r; lrot(z); rrot(z);} else return;
    }
    maintain(T[z].l, 
0); maintain(T[z].r, 1); maintain(z, 0); maintain(z, 1);
}
int find(long long _v)
{
    
int i = root;
    
long long v0;
    
while (i) {
        v0 
= T[i].v;
        
if (_v == v0) return i; else if (_v < v0) i = T[i].l; else i = T[i].r;
    }
    
return 0;
}
int Find_Kth(int K)
{
    
int i = root, s0, m0;
    
while (1) {
        s0 
= T[T[i].l].sz0; m0 = T[i].mul;
        
if (K <= s0) i = T[i].l; else if (K <= s0 + m0) return i; else {K -= s0 + m0; i = T[i].r;}
    }
}
void ins(long long _v)
{
    
if (!root) {
        T[
++N].v = _v; T[N].l = T[N].r = T[N].p = 0; T[N].sz0 = T[N].sz = T[N].mul = 1; root = N;
    } 
else {
        
int i = root, j;
        
long long v0;
        
while (1) {
            T[i].sz0
++; v0 = T[i].v;
            
if (_v == v0) {T[i].mul++return;} else if (_v < v0) j = T[i].l; else j = T[i].r;
            
if (j) i = j; else break;
        }
        T[
++N].v = _v; T[N].l = T[N].r = 0; T[N].sz0 = T[N].sz = T[N].mul = 1if (_v < v0) slc(i, N); else src(i, N);
        
while (i) {T[i].sz++; maintain(i, _v > T[i].v); i = T[i].p;}
    }
}
void del(int x)
{
    
if (T[x].mul > 1) {
        T[x].mul
--while (x) {T[x].sz0--; x = T[x].p;}
    } 
else {
        
int l = T[x].l, r = T[x].r, p;
        
if (l && r) {
            
int y; while (y = T[l].r) l = y;
            T[x].v 
= T[l].v; T[x].mul = T[l].mul; p = T[l].p;
            
if (l == T[p].l) slc(p, T[l].l); else src(p, T[l].l);
            
while (p) {upd(p); p = T[p].p;}
        } 
else {
            
if (x == root) T[root = l + r].p = 0else {p = T[x].p; if (x == T[p].l) slc(p, l + r); else src(p, l + r); while(p) {upd(p); p = T[p].p;}}
        }
    }
}
long long h(int x)
{
    
return F[Q[x]] + a[Q[x + 1]];
}
void solve()
{
    F[
0= 0; front = 0; rear = 0; Q[0= 0;
    re1(i, n) {
        
for (; front<=rear && Q[front]<b[i];) {if (front < rear) del(find(h(front))); front++;}
        
for (; front<=rear && a[Q[rear]]<=a[i];) {if (front < rear) del(find(h(rear - 1))); rear--;}
        Q[
++rear] = i; if (front < rear) ins(h(rear - 1));
        
if (root) F[i] = T[Find_Kth(1)].v; else F[i] = INF;
        
if (F[b[i]] + MAX[i] < F[i]) F[i] = F[b[i]] + MAX[i];
    }
    res 
= F[n];
}
void pri()
{
    cout 
<< res << endl;
}
int main()
{
    init();
    prepare();
    
if (!res) solve();
    pri();
    
return 0;
}



Mato_No1 2011-07-08 12:40 鍙戣〃璇勮
]]>
澶氶噸鑳屽寘闂鐨勫崟璋冮槦鍒椾紭鍖?/title><link>http://www.shnenglu.com/MatoNo1/archive/2011/07/05/150231.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Tue, 05 Jul 2011 10:00:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2011/07/05/150231.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/150231.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2011/07/05/150231.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/150231.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/150231.html</trackback:ping><description><![CDATA[澶氶噸鑳屽寘闂鏈寸礌鏃墮棿澶嶆潅搴︿負O(NMS)錛堣繖閲孲鏄墍鏈夌墿鍝佺殑鏁伴噺s涔嬪拰錛夛紝緇忚繃浜岃繘鍒朵紭鍖栧悗鏃墮棿澶嶆潅搴︿負O(NMlog2S)錛岃繖涓鏉傚害宸茬粡鑳藉搴斾粯澶у鏁伴浜嗭紝浣嗗浜庢煇浜涚壒鍒崱鏃墮棿鐨勯錛堟瘮濡侼*M=10<sup>7</sup>鐨?錛屼粛鐒朵細TLE銆傝繖鏃訛紝鍙互鐢ㄥ崟璋冮槦鍒椾紭鍖栵紝鏃墮棿澶嶆潅搴﹂檷涓篛(NM)銆?br /><br />棣栧厛鐪嬩竴涓嬪閲嶈儗鍖呴棶棰樼殑鏈寸礌杞Щ鏂圭▼錛?br />F[i][j] = max{F[i-1][j-x*w[i]]+x*v[i]} (0<=x<=s[i], j>=x*w[i])<br />濡傛灉浣跨敤婊氬姩鏁扮粍錛屽拷鐣榪欎竴緇達紝璁緒0=w[i]錛寁0=v[i]錛宻0=s[i]錛屽緱錛?br />F[j] = max{F[j-x*w0]+x*v0} (0<=x<=s0, j>=x*w0)<br />鐪嬩笂鍘昏繖鍜屽崟璋冮槦鍒楁湪鏈夌椹叧緋伙紝鍥犱負鍐崇瓥涓嬫爣錛坖-x*w0錛変笉鏄竴涓暣鏁板尯闂達紝涓棿鏄湁闂撮殧鐨勩傜劧鑰屽彲浠ュ彂鐜幫紝榪欎釜鏂圭▼鐨勯檺鍒舵潯浠?#8220;0<=x<=s0錛宩>=x*w0”錛屼篃灝辨槸x鐨勪笅鐣屾槸max{0, j/w0錛堜笅鍙栨暣錛墋錛屽綋j鍗曡皟閫掑鏃訛紝榪欎釜涓嬬晫涔熸槸鍗曡皟閫掑鐨勩傝繖婊¤凍鍗曡皟闃熷垪浼樺寲鐨勬潯浠朵腑鐨?#8220;鍐崇瓥涓嬫爣鐨勪笅鐣屽崟璋?#8221;……涓嶆槸錛岃繕涓嶈兘榪欐牱璇達紝鍥犱負榪欓噷鐨勫喅絳栦笅鏍囨槸j-x*w0錛岃屼笉鏄痻銆?br />閭d箞鎬庢牱鎵嶅彲浠ユ妸鍐崇瓥涓嬫爣鍙樹負x錛?br /><br />灝嗗喅絳栦笅鏍囨寜鐓фāw0鐨勪綑鏁拌繘琛屽垎綾伙紝鍙互鍒嗘垚w0綾伙紝鍒嗗埆瀵瑰簲妯0浣?銆佷綑1……浣?w0-1)鐨勬儏鍐點傝繖鏃訛紝涓婇潰鏂圭▼涓殑鎵鏈夊喅絳栦笅鏍噅-x*w0閮芥槸鍚屼竴綾葷殑銆傝繘涓姝ワ紝璁緌 =j/w0錛堜笅鍙栨暣錛夛紝r=j%w0錛屽垯j=q*w0+r錛屽浜庢煇涓喅絳栦笅鏍噅'錛岃k=(j'-r)/w0錛屽嵆j'=k*w0+r銆傛樉鐒跺彲浠ュ彂鐜幫紝k鐨勫彇鍊艱寖鍥存槸錛歬>=0涓攓-s0<=k<=q錛屼篃鍗砶鐨勪笅鐣屾槸max{0, q-s0}——闅廽鐨勫崟璋冭屽崟璋冦?br />鐒跺悗錛岃漿縐繪柟紼嬪彲浠ユ敼涓猴紙榪欓噷鎶妑褰撴垚涓涓凡鐭ラ噺浜嗭級錛?br />F[q*w0+r] = max{F[k*w0+r]+(q-k)*v0} (k>=0涓攓-s0<=k<=q)<br />鍗矲[q*w0+r]=max{F[k*w0+r]-k*v0}+q*v0 (k>=0涓攓-s0<=k<=q)<br />璁綠[k]=F[k*w0+r]寰楋細<br />G[q]=max{G[k]-k*v0}+q*v0 (k>=0涓攓-s0<=k<=q)<br />榪欎釜鏂圭▼宸茬粡鍙互浣跨敤鍗曡皟闃熷垪鏉ヤ紭鍖栦簡錛?br /><br />榪欐牱鍙互寰楀嚭綆楁硶錛?br />錛?錛変粠1鍒皀錛屾灇涓緄錛屽緩绔媤[i]涓┖鐨勫崟璋冮槦鍒楋紝姣忎釜闃熷垪鐨勫厓绱犻兘鏄袱涓猧nt鍊鹼細(k, val)錛岃〃紺鴻漿鎹㈠悗涓嬫爣鍜屽喅絳栧?G[k]-k*v[i])錛?br />錛?錛変粠0鍒癿錛屾灇涓緅錛屽緱鍑簈銆乺鐨勫鹼紝瀵逛簬闃熷垪r錛?br />銆?銆戝垹鍘婚槦棣栬繃鏃訛紙k<q-m[i]錛夌殑鍏冪礌錛?br />銆?銆慒[j]鍏ラ槦錛堣繖閲岀殑F[j]鎸囦笂涓闃舵鐨凢[j]錛屽嵆F[i-1][j]銆傚洜姝よ繖涓姝ユ搷浣滀竴瀹氳鍏堣繘琛岋級錛屽垹鍘婚槦灝炬墍鏈夊喅絳栧紇al涓嶅ぇ浜?F[j]-q*v[i])鐨勫厓绱犮?br />銆?銆戝彇鍑洪槦棣栫粨鐐癸紝鍏秜al鍊煎姞涓妐*v[i]鍚庡嵆涓烘湰闃舵F[j]鐨勫箋?br />鏈鍚嶧[m]鍗充負緇撴灉銆傛繪椂闂村鏉傚害涓篛(NM)銆?br /><br />鍏跺疄榪欎釜鏄彲浠ユ帹騫跨殑錛屽嵆瀵逛簬濡備笅褰㈠紡鐨勮漿縐繪柟紼嬶紙鍏朵腑H銆丟鍜學鍧囦負甯擱噺錛孊[i]涓哄喅絳栦笅鏍囩殑涓嬬晫錛岄殢i鍗曡皟錛夛細<br />F[i] = opt{F[i-x*H+W]}+G (B[i]<=i-x*H+W<i錛寈∈<strong>N</strong>錛?br />閮藉彲浠ョ敤涓婅堪鐨勫姙娉曡繘琛岃漿鍖栵紝浠庤岃繘琛屽崟璋冮槦鍒椾紭鍖栥?br /> <img src ="http://www.shnenglu.com/MatoNo1/aggbug/150231.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2011-07-05 18:00 <a href="http://www.shnenglu.com/MatoNo1/archive/2011/07/05/150231.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://com42923.com" target="_blank">一区二区三区久久网</a>| <a href="http://fobdoer.com" target="_blank">欧美精品入口</a>| <a href="http://59199m.com" target="_blank">亚洲黄色大片</a>| <a href="http://babylonmovi.com" target="_blank">欧美成人午夜激情在线</a>| <a href="http://shaijia123.com" target="_blank">亚洲电影天堂av</a>| <a href="http://shiyoudiban.com" target="_blank">亚洲精品1区</a>| <a href="http://yeyesaoqi.com" target="_blank">国产精品99久久久久久久久</a>| <a href="http://mmmm37.com" target="_blank">亚洲一区二区三区免费在线观看</a>| <a href="http://05511253.com" target="_blank">午夜精品久久久久久久白皮肤</a>| <a href="http://anquye16.com" target="_blank">久久精品91</a>| <a href="http://w7727.com" target="_blank">欧美经典一区二区三区</a>| <a href="http://chainhuayu.com" target="_blank">国产精品久久97</a>| <a href="http://hlyjh.com" target="_blank">国产亚洲欧洲一区高清在线观看</a>| <a href="http://080973.com" target="_blank">在线精品视频免费观看</a>| <a href="http://zzzz80.com" target="_blank">av成人天堂</a>| <a href="http://lgaoxiao.com" target="_blank">久久精品夜色噜噜亚洲a∨</a>| <a href="http://797298.com" target="_blank">牛夜精品久久久久久久99黑人 </a>| <a href="http://bjmrkj.com" target="_blank">国产精品一二一区</a>| <a href="http://xingba999.com" target="_blank">伊人久久亚洲热</a>| <a href="http://598327.com" target="_blank">亚洲自拍三区</a>| <a href="http://216667.com" target="_blank">欧美电影打屁股sp</a>| <a href="http://vvvv81.com" target="_blank">亚洲欧美国产日韩中文字幕</a>| <a href="http://895658.com" target="_blank">久久综合伊人77777麻豆</a>| <a href="http://whrcjy.com" target="_blank">欧美午夜宅男影院在线观看</a>| <a href="http://337105.com" target="_blank">伊人久久久大香线蕉综合直播 </a>| <a href="http://7kz6.com" target="_blank">亚洲蜜桃精久久久久久久</a>| <a href="http://551692.com" target="_blank">性色av一区二区三区在线观看</a>| <a href="http://hhjc7.com" target="_blank">欧美超级免费视 在线</a>| <a href="http://5555547.com" target="_blank">亚洲一区在线观看视频</a>| <a href="http://559dd.com" target="_blank">欧美精品一区二区三区视频</a>| <a href="http://j88866.com" target="_blank">国产伦精品一区二区三区在线观看 </a>| <a href="http://ttdy20.com" target="_blank">欧美一区二区三区免费视频</a>| <a href="http://by5263.com" target="_blank">欧美精品麻豆</a>| <a href="http://lalandapps.com" target="_blank">尤物视频一区二区</a>| <a href="http://by66336.com" target="_blank">久久av资源网站</a>| <a href="http://jgj230230.com" target="_blank">亚洲天堂男人</a>| <a href="http://www57669.com" target="_blank">欧美日一区二区三区在线观看国产免 </a>| <a href="http://3dmh329.com" target="_blank">午夜精品久久久久久久99水蜜桃 </a>| <a href="http://412342.com" target="_blank">亚洲欧美在线另类</a>| <a href="http://www-888690.com" target="_blank">欧美激情国产高清</a>| <a href="http://by5263.com" target="_blank">亚洲国产精品激情在线观看 </a>| <a href="http://039658.com" target="_blank">亚洲视频 欧洲视频</a>| <a href="http://wxtarena.com" target="_blank">欧美高清在线</a>| <a href="http://pabjzz.com" target="_blank">最新亚洲电影</a>| <a href="http://yiapk.com" target="_blank">久久综合成人精品亚洲另类欧美</a>| <a href="http://aqdav037.com" target="_blank">这里只有精品电影</a>| <a href="http://2938476.com" target="_blank">欧美日韩日日骚</a>| <a href="http://fengxinye.com" target="_blank">99re在线精品</a>| <a href="http://javdb04.com" target="_blank">欧美国产高清</a>| <a href="http://saobitv.com" target="_blank">免费短视频成人日韩</a>| <a href="http://erosgems.com" target="_blank">怡红院精品视频在线观看极品</a>| <a href="http://www-76577c.com" target="_blank">欧美在线黄色</a>| <a href="http://wilcherish.com" target="_blank">亚洲欧美激情在线视频</a>| <a href="http://69xxx6.com" target="_blank">国产精品毛片a∨一区二区三区|国</a>| <a href="http://wwwlywbb.com" target="_blank">日韩午夜激情</a>| <a href="http://04781900.com" target="_blank">亚洲精品影院</a>| <a href="http://www-kj777.com" target="_blank">欧美日韩国产亚洲一区</a>| <a href="http://ooonefteprompellets.com" target="_blank">亚洲精品国产拍免费91在线</a>| <a href="http://jxchunlong.com" target="_blank">亚洲高清av</a>| <a href="http://360inns.com" target="_blank">欧美成年人视频网站</a>| <a href="http://038226.com" target="_blank">亚洲日本欧美</a>| <a href="http://www492002.com" target="_blank">亚洲人成在线观看</a>| <a href="http://2938423.com" target="_blank">欧美日韩一区二区三区四区在线观看</a>| <a href="http://6661639.com" target="_blank">99热免费精品</a>| <a href="http://dlwansheng.com" target="_blank">99精品久久</a>| <a href="http://aidou28.com" target="_blank">国产精品一区二区久久</a>| <a href="http://y65c.com" target="_blank">久久久久久国产精品mv</a>| <a href="http://xzvaz.com" target="_blank">久久午夜视频</a>| <a href="http://7ccdd.com" target="_blank">99在线|亚洲一区二区</a>| <a href="http://44cgcg.com" target="_blank">一区二区欧美激情</a>| <a href="http://7213523.com" target="_blank">国产视频久久</a>| <a href="http://777777hb.com" target="_blank">欧美国产精品</a>| <a href="http://chukewang.com" target="_blank">欧美日韩一区二区国产</a>| <a href="http://cqjk120.com" target="_blank">欧美一级大片在线观看</a>| <a href="http://8p3c.com" target="_blank">久久久www成人免费无遮挡大片</a>| <a href="http://cczm4.com" target="_blank">亚洲大胆女人</a>| <a href="http://666cmc.com" target="_blank">日韩图片一区</a>| <a href="http://hhbz518.com" target="_blank">国产一区二区av</a>| <a href="http://www-kj777.com" target="_blank">欧美丰满少妇xxxbbb</a>| <a href="http://vipaqdx29.com" target="_blank">欧美日韩国产黄</a>| <a href="http://xkm663y.com" target="_blank">欧美一区二区三区在线看</a>| <a href="http://ykk7.com" target="_blank">久久精品卡一</a>| <a href="http://www033459.com" target="_blank">一区二区三区欧美在线</a>| <a href="http://www0505nn.com" target="_blank">午夜综合激情</a>| <a href="http://6aaee.com" target="_blank">亚洲三级视频</a>| <a href="http://9lunli.com" target="_blank">亚洲欧美国产va在线影院</a>| <a href="http://428368.com" target="_blank">一区在线电影</a>| <a href="http://kk8586.com" target="_blank">在线一区观看</a>| <a href="http://899399com.com" target="_blank">亚洲电影免费</a>| <a href="http://www-8438.com" target="_blank">亚洲香蕉网站</a>| <a href="http://788997.com" target="_blank">91久久在线播放</a>| <a href="http://444al.com" target="_blank">性欧美暴力猛交69hd</a>| <a href="http://o10669.com" target="_blank">日韩天天综合</a>| <a href="http://lxpaiju.com" target="_blank">久久精品一区</a>| <a href="http://yw8333.com" target="_blank">小嫩嫩精品导航</a>| <a href="http://by3787.com" target="_blank">亚洲电影有码</a>| <a href="http://244223.com" target="_blank">国产日韩欧美三区</a>| <a href="http://9881600.com" target="_blank">亚洲欧洲日本一区二区三区</a>| <a href="http://wanyoulipin.com" target="_blank">国产欧美日韩一区二区三区</a>| <a href="http://492541.com" target="_blank">亚洲欧洲视频</a>| <a href="http://a6a3.com" target="_blank">影音先锋在线一区</a>| <a href="http://heyzo1031.com" target="_blank">亚洲网站啪啪</a>| <a href="http://bocai4488.com" target="_blank">99综合精品</a>| <a href="http://8842aa.com" target="_blank">蜜桃精品一区二区三区</a>| <a href="http://1188188.com" target="_blank">欧美在线免费</a>| <a href="http://eguge.com" target="_blank">国产精品毛片一区二区三区</a>| <a href="http://easypufu.com" target="_blank">亚洲国产精品女人久久久</a>| <a href="http://www205sihu.com" target="_blank">国产一区二区三区最好精华液</a>| <a href="http://456kp.com" target="_blank">亚洲美女视频</a>| <a href="http://www57669.com" target="_blank">亚洲精品一区二区三区福利</a>| <a href="http://540669.com" target="_blank">久久不射中文字幕</a>| <a href="http://ehagakii.com" target="_blank">亚洲欧美日韩系列</a>| <a href="http://xaxkizlar.com" target="_blank">欧美理论电影网</a>| <a href="http://by274.com" target="_blank">欧美国产精品va在线观看</a>| <a href="http://sygxjt.com" target="_blank">国模 一区 二区 三区</a>| <a href="http://cloakok.com" target="_blank">亚洲一区一卡</a>| <a href="http://www-5888c.com" target="_blank">亚洲男人第一av网站</a>| <a href="http://xingba999.com" target="_blank">欧美精品成人一区二区在线观看</a>| <a href="http://88488848.com" target="_blank">久久一区中文字幕</a>| <a href="http://heyzo1031.com" target="_blank">国产女优一区</a>| <a href="http://583775.com" target="_blank">午夜日韩电影</a>| <a href="http://59jf.com" target="_blank">亚洲欧美综合另类中字</a>| <a href="http://163263.com" target="_blank">欧美三区在线视频</a>| <a href="http://tubcup.com" target="_blank">亚洲毛片网站</a>| <a href="http://maomi998.com" target="_blank">亚洲视频国产视频</a>| <a href="http://miya2223.com" target="_blank">欧美日韩精品一区二区天天拍小说</a>| <a href="http://caopormo.com" target="_blank">欧美激情视频给我</a>| <a href="http://149155.com" target="_blank">最新日韩中文字幕</a>| <a href="http://77smsm.com" target="_blank">蜜臀久久99精品久久久画质超高清</a>| <a href="http://www134rr.com" target="_blank">久久一区二区视频</a>| <a href="http://gx2020.com" target="_blank">伊人一区二区三区久久精品</a>| <a href="http://luluse882.com" target="_blank">久久精品国产免费观看</a>| <a href="http://6567ya.com" target="_blank">久久亚洲风情</a>| <a href="http://www962aa.com" target="_blank">尤物九九久久国产精品的特点</a>| <a href="http://xpfuli.com" target="_blank">久久精品国产清高在天天线</a>| <a href="http://5gn4y.com" target="_blank">久久中文欧美</a>| <a href="http://ttmitch.com" target="_blank">亚洲国产毛片完整版</a>| <a href="http://977764.com" target="_blank">欧美电影在线免费观看网站</a>| <a href="http://021jjjflaw.com" target="_blank">亚洲国产高清一区二区三区</a>| <a href="http://ww9494.com" target="_blank">亚洲精品资源</a>| <a href="http://devmashup.com" target="_blank">欧美日一区二区在线观看 </a>| <a href="http://mgcc37.com" target="_blank">美女黄色成人网</a>| <a href="http://www-s8.com" target="_blank">欧美大片va欧美在线播放</a>| <a href="http://syfeichi.com" target="_blank">亚洲高清在线视频</a>| <a href="http://www033459.com" target="_blank">欧美激情四色</a>| <a href="http://016889.com" target="_blank">宅男噜噜噜66国产日韩在线观看</a>| <a href="http://sxhrdyb.com" target="_blank">亚洲影视在线</a>| <a href="http://av0333.com" target="_blank">韩国女主播一区二区三区</a>| <a href="http://www-88899.com" target="_blank">久久久久免费观看</a>| <a href="http://hdsywang.com" target="_blank">亚洲国产女人aaa毛片在线</a>| <a href="http://18cgh.com" target="_blank">一区二区日韩精品</a>| <a href="http://1188188.com" target="_blank">国产精品视频网站</a>| <a href="http://cnc800.com" target="_blank">久久精品99久久香蕉国产色戒</a>| <a href="http://8bc3.com" target="_blank">欧美国产亚洲视频</a>| <a href="http://32666066.com" target="_blank">一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 </a>| <a href="http://mishangmi.com" target="_blank">久久精品国产欧美激情</a>| <a href="http://balqueen.com" target="_blank">久久夜色精品国产亚洲aⅴ</a>| <a href="http://sortxz.com" target="_blank">亚洲国产精品一区二区第四页av</a>| <a href="http://azaz7.com" target="_blank">免费永久网站黄欧美</a>| <a href="http://youminwang.com" target="_blank">日韩视频免费观看</a>| <a href="http://hhh246.com" target="_blank">久久精品欧美</a>| <a href="http://lgaoxiao.com" target="_blank">亚洲精品久久久蜜桃</a>| <a href="http://www22336.com" target="_blank">欧美体内she精视频</a>| <a href="http://344230.com" target="_blank">欧美在线观看一区二区</a>| <a href="http://9113c.com" target="_blank">亚洲国产精品国自产拍av秋霞 </a>| <a href="http://580388.com" target="_blank">性久久久久久久久</a>| <a href="http://pgpg520.com" target="_blank">在线观看欧美一区</a>| <a href="http://maoshimh.com" target="_blank">欧美特黄一级大片</a>| <a href="http://67idid.com" target="_blank">久久男女视频</a>| <a href="http://trhht.com" target="_blank">亚洲视频二区</a>| <a href="http://337791.com" target="_blank">欧美国产先锋</a>| <a href="http://chukewang.com" target="_blank">篠田优中文在线播放第一区</a>| <a href="http://56667r.com" target="_blank">91久久极品少妇xxxxⅹ软件</a>| <a href="http://hongzaixian.com" target="_blank">国产精品国产馆在线真实露脸</a>| <a href="http://wtoykd.com" target="_blank">久久精品电影</a>| <a href="http://tutu80.com" target="_blank">亚洲一区二区高清视频</a>| <a href="http://9486322.com" target="_blank">亚洲大胆人体视频</a>| <a href="http://metagasa.com" target="_blank">久久精品导航</a>| <a href="http://jiangnanmm.com" target="_blank">亚洲视频中文</a>| <a href="http://www-68689.com" target="_blank">亚洲激情第一页</a>| <a href="http://gjjlzs.com" target="_blank">国产亚洲精品bv在线观看</a>| <a href="http://jiangnanmm.com" target="_blank">久久婷婷综合激情</a>| <a href="http://ktokt.com" target="_blank">亚洲一区二区av电影</a>| <a href="http://fanwenok.com" target="_blank">亚洲国产精品小视频</a>| <a href="http://www-293456.com" target="_blank">国产欧美一区二区白浆黑人</a>| <a href="http://4y9k.com" target="_blank">欧美—级在线免费片</a>| <a href="http://niceboybao.com" target="_blank">久久国产日韩欧美</a>| <a href="http://270909.com" target="_blank">一本色道久久综合亚洲精品婷婷</a>| <a href="http://hjk56.com" target="_blank">美女诱惑黄网站一区</a>| <a href="http://85041960.com" target="_blank">欧美在线短视频</a>| <a href="http://cnchtx.com" target="_blank">亚洲午夜av在线</a>| <a href="http://67idid.com" target="_blank">日韩亚洲欧美精品</a>| <a href="http://2996611.com" target="_blank">亚洲国产高清在线</a>| <a href="http://www-87633.com" target="_blank">韩国三级在线一区</a>| <a href="http://hzdss.com" target="_blank">国产欧美一区二区白浆黑人</a>| <a href="http://phdy999.com" target="_blank">欧美亚洲成人网</a>| <a href="http://91porn42.com" target="_blank">欧美日韩国产黄</a>| <a href="http://sygxjt.com" target="_blank">欧美精品一区二区三区蜜臀</a>| <a href="http://580388.com" target="_blank">久久在线免费</a>| <a href="http://7485888.com" target="_blank">久久久国产精品亚洲一区</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>