锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久黄,欧美日韩国产欧,欧美一级电影久久http://www.shnenglu.com/vontroy/archive/2010/10/02/128311.htmlVontroyVontroySat, 02 Oct 2010 07:18:00 GMThttp://www.shnenglu.com/vontroy/archive/2010/10/02/128311.htmlhttp://www.shnenglu.com/vontroy/comments/128311.htmlhttp://www.shnenglu.com/vontroy/archive/2010/10/02/128311.html#Feedback0http://www.shnenglu.com/vontroy/comments/commentRss/128311.htmlhttp://www.shnenglu.com/vontroy/services/trackbacks/128311.html#include <iostream>  
#include 
<cstdio>  
#include 
<string> 
 
using namespace std;
  
const int maxn = 301;  

string str1, str2;  

int main()  
{  
    
while( cin >> str1 >> str2 )  
    
{  
        
int dp[maxn][maxn] = {0};  
        
int len1 = str1.length();  
        
int len2 = str2.length();  
        
forint i = 1; i <= len1; i++ )  
            
forint j = 1; j <= len2; j++ )  
            
{  
                
if( str1[i - 1== str2[j - 1] )  
                    dp[i][j] 
= dp[i - 1][j - 1+ 1;  
                
else  
                    dp[i][j] 
= max( dp[i][j - 1], dp[i - 1][j] );  
            }
  
        printf(
"%d\n", dp[len1][len2]);  
    }
  
    
return 0;  
}
  

Vontroy 2010-10-02 15:18 鍙戣〃璇勮
]]>
鑳屽寘闂涔濊http://www.shnenglu.com/vontroy/archive/2010/05/23/116195.htmlVontroyVontroySun, 23 May 2010 14:41:00 GMThttp://www.shnenglu.com/vontroy/archive/2010/05/23/116195.htmlhttp://www.shnenglu.com/vontroy/comments/116195.htmlhttp://www.shnenglu.com/vontroy/archive/2010/05/23/116195.html#Feedback0http://www.shnenglu.com/vontroy/comments/commentRss/116195.htmlhttp://www.shnenglu.com/vontroy/services/trackbacks/116195.html鑳屽寘闂涔濊 v1.0
鐩綍
絎竴璁?01鑳屽寘闂
絎簩璁?瀹屽叏鑳屽寘闂
絎笁璁?澶氶噸鑳屽寘闂
絎洓璁?娣峰悎涓夌鑳屽寘闂
絎簲璁?浜岀淮璐圭敤鐨勮儗鍖呴棶棰?/div>
絎叚璁?鍒嗙粍鐨勮儗鍖呴棶棰?/div>
絎竷璁?鏈変緷璧栫殑鑳屽寘闂
絎叓璁?娉涘寲鐗╁搧
絎節璁?鑳屽寘闂闂硶鐨勫彉鍖?/div>
闄勶細USACO涓殑鑳屽寘闂
鐩綍
絎竴璁?01鑳屽寘闂
榪欐槸鏈鍩烘湰鐨勮儗鍖呴棶棰橈紝姣忎釜鐗╁搧鏈澶氬彧鑳芥斁涓嬈°?/div>
絎簩璁?瀹屽叏鑳屽寘闂
絎簩涓熀鏈殑鑳屽寘闂妯″瀷錛屾瘡縐嶇墿鍝佸彲浠ユ斁鏃犻檺澶氭銆?/div>
絎笁璁?澶氶噸鑳屽寘闂
姣忕鐗╁搧鏈変竴涓浐瀹氱殑嬈℃暟涓婇檺銆?/div>
絎洓璁?娣峰悎涓夌鑳屽寘闂
灝嗗墠闈笁縐嶇畝鍗曠殑闂鍙犲姞鎴愯緝澶嶆潅鐨勯棶棰樸?/div>
絎簲璁?浜岀淮璐圭敤鐨勮儗鍖呴棶棰?/div>
涓涓畝鍗曠殑甯歌鎵╁睍銆?/div>
絎叚璁?鍒嗙粍鐨勮儗鍖呴棶棰?/div>
涓縐嶉鐩被鍨嬶紝涔熸槸涓涓湁鐢ㄧ殑妯″瀷銆傚悗涓よ妭鐨勫熀紜銆?/div>
絎竷璁?鏈変緷璧栫殑鑳屽寘闂
鍙︿竴縐嶇粰鐗╁搧鐨勯夊彇鍔犱笂闄愬埗鐨勬柟娉曘?/div>
絎叓璁?娉涘寲鐗╁搧
鎴戣嚜宸卞叧浜庤儗鍖呴棶棰樼殑鎬濊冩垚鏋滐紝鏈変竴鐐規娊璞°?/div>
絎節璁?鑳屽寘闂闂硶鐨勫彉鍖?/div>
璇曞浘瑙︾被鏃侀氥佷婦涓鍙嶄笁銆?/div>
闄勶細USACO涓殑鑳屽寘闂
P01: 01鑳屽寘闂
棰樼洰
鏈塏浠剁墿鍝佸拰涓涓閲忎負V鐨勮儗鍖呫傜i浠剁墿鍝佺殑璐圭敤鏄痗[i]錛屼環鍊兼槸w[i]銆傛眰瑙e皢鍝簺鐗╁搧瑁呭叆鑳屽寘鍙嬌浠峰兼誨拰鏈澶с?/div>
鍩烘湰鎬濊礬
榪欐槸鏈鍩虹鐨勮儗鍖呴棶棰橈紝鐗圭偣鏄細姣忕鐗╁搧浠呮湁涓浠訛紝鍙互閫夋嫨鏀炬垨涓嶆斁銆?/div>
鐢ㄥ瓙闂瀹氫箟鐘舵侊細鍗砯[i][v]琛ㄧず鍓峣浠剁墿鍝佹伆鏀懼叆涓涓閲忎負v鐨勮儗鍖呭彲浠ヨ幏寰楃殑鏈澶т環鍊箋傚垯鍏剁姸鎬佽漿縐繪柟紼嬩究鏄細
f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
榪欎釜鏂圭▼闈炲父閲嶈錛屽熀鏈笂鎵鏈夎窡鑳屽寘鐩稿叧鐨勯棶棰樼殑鏂圭▼閮芥槸鐢卞畠琛嶇敓鍑烘潵鐨勩傛墍浠ユ湁蹇呰灝嗗畠璇︾粏瑙i噴涓涓嬶細“灝嗗墠i浠剁墿鍝佹斁鍏ュ閲忎負v鐨勮儗鍖呬腑”榪欎釜瀛愰棶棰橈紝鑻ュ彧鑰冭檻絎琲浠剁墿鍝佺殑絳栫暐錛堟斁鎴栦笉鏀撅級錛岄偅涔堝氨鍙互杞寲涓轟竴涓彧鐗墊壇鍓峣-1浠剁墿鍝佺殑闂銆傚鏋滀笉鏀劇i浠剁墿鍝侊紝閭d箞闂灝辮漿鍖栦負“鍓峣-1浠剁墿鍝佹斁鍏ュ閲忎負v鐨勮儗鍖呬腑”錛屼環鍊間負f[i-1][v]錛涘鏋滄斁絎琲浠剁墿鍝侊紝閭d箞闂灝辮漿鍖栦負“鍓峣-1浠剁墿鍝佹斁鍏ュ墿涓嬬殑瀹歸噺涓簐-c[i]鐨勮儗鍖呬腑”錛屾鏃惰兘鑾峰緱鐨勬渶澶т環鍊煎氨鏄痜[i-1][v-c[i]]鍐嶅姞涓婇氳繃鏀懼叆絎琲浠剁墿鍝佽幏寰楃殑浠峰紈[i]銆?/div>
浼樺寲絀洪棿澶嶆潅搴?/div>
浠ヤ笂鏂規硶鐨勬椂闂村拰絀洪棿澶嶆潅搴﹀潎涓篛(N*V)錛屽叾涓椂闂村鏉傚害鍩烘湰宸茬粡涓嶈兘鍐嶄紭鍖栦簡錛屼絾絀洪棿澶嶆潅搴﹀嵈鍙互浼樺寲鍒癘(V)銆?/div>
鍏堣冭檻涓婇潰璁茬殑鍩烘湰鎬濊礬濡備綍瀹炵幇錛岃偗瀹氭槸鏈変竴涓富寰幆i=1..N錛屾瘡嬈$畻鍑烘潵浜岀淮鏁扮粍f[i][0..V]鐨勬墍鏈夊箋傞偅涔堬紝濡傛灉鍙敤涓涓暟緇刦[0..V]錛岃兘涓嶈兘淇濊瘉絎琲嬈″驚鐜粨鏉熷悗f[v]涓〃紺虹殑灝辨槸鎴戜滑瀹氫箟鐨勭姸鎬乫[i][v]鍛紵f[i][v]鏄敱f[i-1][v]鍜宖[i-1][v-c[i]]涓や釜瀛愰棶棰橀掓帹鑰屾潵錛岃兘鍚︿繚璇佸湪鎺╢[i][v]鏃訛紙涔熷嵆鍦ㄧi嬈′富寰幆涓帹f[v]鏃訛級鑳藉寰楀埌f[i-1][v]鍜宖[i-1][v-c[i]]鐨勫煎憿錛熶簨瀹炰笂錛岃繖瑕佹眰鍦ㄦ瘡嬈′富寰幆涓垜浠互v=V..0鐨勯『搴忔帹f[v]錛岃繖鏍鋒墠鑳戒繚璇佹帹f[v]鏃秄[v-c[i]]淇濆瓨鐨勬槸鐘舵乫[i-1][v-c[i]]鐨勫箋備吉浠g爜濡備笅錛?/div>
for i=1..N
    for v=V..0
        f[v]=max{f[v],f[v-c[i]]+w[i]};
鍏朵腑鐨刦[v]=max{f[v],f[v-c[i]]}涓鍙ユ伆灝辯浉褰撲簬鎴戜滑鐨勮漿縐繪柟紼媐[i][v]=max{f[i-1][v],f[i-1][v-c[i]]}錛屽洜涓虹幇鍦ㄧ殑f[v-c[i]]灝辯浉褰撲簬鍘熸潵鐨刦[i-1][v-c[i]]銆傚鏋滃皢v鐨勫驚鐜『搴忎粠涓婇潰鐨勯嗗簭鏀規垚欏哄簭鐨勮瘽錛岄偅涔堝垯鎴愪簡f[i][v]鐢眆[i][v-c[i]]鎺ㄧ煡錛屼笌鏈鎰忎笉絎︼紝浣嗗畠鍗存槸鍙︿竴涓噸瑕佺殑鑳屽寘闂P02鏈綆鎹風殑瑙e喅鏂規錛屾晠瀛︿範鍙敤涓緇存暟緇勮В01鑳屽寘闂鏄崄鍒嗗繀瑕佺殑銆?/div>
浜嬪疄涓婏紝浣跨敤涓緇存暟緇勮В01鑳屽寘鐨勭▼搴忓湪鍚庨潰浼氳澶氭鐢ㄥ埌錛屾墍浠ヨ繖閲屾娊璞″嚭涓涓鐞嗕竴浠?1鑳屽寘涓殑鐗╁搧榪囩▼錛屼互鍚庣殑浠g爜涓洿鎺ヨ皟鐢ㄤ笉鍔犺鏄庛?/div>
榪囩▼ZeroOnePack錛岃〃紺哄鐞嗕竴浠?1鑳屽寘涓殑鐗╁搧錛屼袱涓弬鏁癱ost銆亀eight鍒嗗埆琛ㄦ槑榪欎歡鐗╁搧鐨勮垂鐢ㄥ拰浠峰箋?/div>
procedure ZeroOnePack(cost,weight)
    for v=V..cost
        f[v]=max{f[v],f[v-cost]+weight}
娉ㄦ剰榪欎釜榪囩▼閲岀殑澶勭悊涓庡墠闈㈢粰鍑虹殑浼唬鐮佹湁鎵涓嶅悓銆傚墠闈㈢殑紺轟緥紼嬪簭鍐欐垚v=V..0鏄負浜嗗湪紼嬪簭涓綋鐜版瘡涓姸鎬侀兘鎸夌収鏂圭▼姹傝В浜嗭紝閬垮厤涓嶅繀瑕佺殑鎬濈淮澶嶆潅搴︺傝岃繖閲屾棦鐒跺凡緇忔娊璞℃垚鐪嬩綔榛戠鐨勮繃紼嬩簡錛屽氨鍙互鍔犲叆浼樺寲銆傝垂鐢ㄤ負cost鐨勭墿鍝佷笉浼氬獎鍝嶇姸鎬乫[0..cost-1]錛岃繖鏄樉鐒剁殑銆?/div>
鏈変簡榪欎釜榪囩▼浠ュ悗錛?1鑳屽寘闂鐨勪吉浠g爜灝卞彲浠ヨ繖鏍峰啓錛?/div>
for i=1..N
    ZeroOnePack(c[i],w[i]);
鍒濆鍖栫殑緇嗚妭闂
鎴戜滑鐪嬪埌鐨勬眰鏈浼樿В鐨勮儗鍖呴棶棰橀鐩腑錛屼簨瀹炰笂鏈変袱縐嶄笉澶浉鍚岀殑闂硶銆傛湁鐨勯鐩姹?#8220;鎭板ソ瑁呮弧鑳屽寘”鏃剁殑鏈浼樿В錛屾湁鐨勯鐩垯騫舵病鏈夎姹傚繀欏繪妸鑳屽寘瑁呮弧銆備竴縐嶅尯鍒繖涓ょ闂硶鐨勫疄鐜版柟娉曟槸鍦ㄥ垵濮嬪寲鐨勬椂鍊欐湁鎵涓嶅悓銆?/div>
濡傛灉鏄涓縐嶉棶娉曪紝瑕佹眰鎭板ソ瑁呮弧鑳屽寘錛岄偅涔堝湪鍒濆鍖栨椂闄や簡f[0]涓?鍏跺畠f[1..V]鍧囪涓?∞錛岃繖鏍峰氨鍙互淇濊瘉鏈緇堝緱鍒扮殑f[N]鏄竴縐嶆伆濂借婊¤儗鍖呯殑鏈浼樿В銆?/div>
濡傛灉騫舵病鏈夎姹傚繀欏繪妸鑳屽寘瑁呮弧錛岃屾槸鍙笇鏈涗環鏍煎敖閲忓ぇ錛屽垵濮嬪寲鏃跺簲璇ュ皢f[0..V]鍏ㄩ儴璁句負0銆?/div>
涓轟粈涔堝憿錛熷彲浠ヨ繖鏍風悊瑙o細鍒濆鍖栫殑f鏁扮粍浜嬪疄涓婂氨鏄湪娌℃湁浠諱綍鐗╁搧鍙互鏀懼叆鑳屽寘鏃剁殑鍚堟硶鐘舵併傚鏋滆姹傝儗鍖呮伆濂借婊★紝閭d箞姝ゆ椂鍙湁瀹歸噺涓?鐨勮儗鍖呭彲鑳借浠峰間負0鐨刵othing“鎭板ソ瑁呮弧”錛屽叾瀹冨閲忕殑鑳屽寘鍧囨病鏈夊悎娉曠殑瑙o紝灞炰簬鏈畾涔夌殑鐘舵侊紝瀹冧滑鐨勫煎氨閮藉簲璇ユ槸-∞浜嗐傚鏋滆儗鍖呭茍闈炲繀欏昏瑁呮弧錛岄偅涔堜換浣曞閲忕殑鑳屽寘閮芥湁涓涓悎娉曡В“浠涔堥兘涓嶈”錛岃繖涓В鐨勪環鍊間負0錛屾墍浠ュ垵濮嬫椂鐘舵佺殑鍊間篃灝卞叏閮ㄤ負0浜嗐?/div>
榪欎釜灝忔妧宸у畬鍏ㄥ彲浠ユ帹騫垮埌鍏跺畠綾誨瀷鐨勮儗鍖呴棶棰橈紝鍚庨潰涔熷氨涓嶅啀瀵硅繘琛岀姸鎬佽漿縐諱箣鍓嶇殑鍒濆鍖栬繘琛岃瑙c?/div>
灝忕粨
01鑳屽寘闂鏄渶鍩烘湰鐨勮儗鍖呴棶棰橈紝瀹冨寘鍚簡鑳屽寘闂涓璁$姸鎬併佹柟紼嬬殑鏈鍩烘湰鎬濇兂錛屽彟澶栵紝鍒殑綾誨瀷鐨勮儗鍖呴棶棰樺線寰涔熷彲浠ヨ漿鎹㈡垚01鑳屽寘闂姹傝В銆傛晠涓瀹氳浠旂粏浣撲細涓婇潰鍩烘湰鎬濊礬鐨勫緱鍑烘柟娉曪紝鐘舵佽漿縐繪柟紼嬬殑鎰忎箟錛屼互鍙婃渶鍚庢庢牱浼樺寲鐨勭┖闂村鏉傚害銆?/div>
棣栭〉

P02: 瀹屽叏鑳屽寘闂
棰樼洰
鏈塏縐嶇墿鍝佸拰涓涓閲忎負V鐨勮儗鍖咃紝姣忕鐗╁搧閮芥湁鏃犻檺浠跺彲鐢ㄣ傜i縐嶇墿鍝佺殑璐圭敤鏄痗[i]錛屼環鍊兼槸w[i]銆傛眰瑙e皢鍝簺鐗╁搧瑁呭叆鑳屽寘鍙嬌榪欎簺鐗╁搧鐨勮垂鐢ㄦ誨拰涓嶈秴榪囪儗鍖呭閲忥紝涓斾環鍊兼誨拰鏈澶с?/div>
鍩烘湰鎬濊礬
榪欎釜闂闈炲父綾諱技浜?1鑳屽寘闂錛屾墍涓嶅悓鐨勬槸姣忕鐗╁搧鏈夋棤闄愪歡銆備篃灝辨槸浠庢瘡縐嶇墿鍝佺殑瑙掑害鑰冭檻錛屼笌瀹冪浉鍏崇殑絳栫暐宸插茍闈炲彇鎴栦笉鍙栦袱縐嶏紝鑰屾槸鏈夊彇0浠躲佸彇1浠躲佸彇2浠?#8230;…絳夊緢澶氱銆傚鏋滀粛鐒舵寜鐓цВ01鑳屽寘鏃剁殑鎬濊礬錛屼護f[i][v]琛ㄧず鍓峣縐嶇墿鍝佹伆鏀懼叆涓涓閲忎負v鐨勮儗鍖呯殑鏈澶ф潈鍊箋備粛鐒跺彲浠ユ寜鐓ф瘡縐嶇墿鍝佷笉鍚岀殑絳栫暐鍐欏嚭鐘舵佽漿縐繪柟紼嬶紝鍍忚繖鏍鳳細
f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0<=k*c[i]<=v}
榪欒窡01鑳屽寘闂涓鏍鋒湁O(N*V)涓姸鎬侀渶瑕佹眰瑙o紝浣嗘眰瑙f瘡涓姸鎬佺殑鏃墮棿宸茬粡涓嶆槸甯告暟浜嗭紝姹傝В鐘舵乫[i][v]鐨勬椂闂存槸O(v/c[i])錛屾葷殑澶嶆潅搴︽槸瓚呰繃O(VN)鐨勩?/div>
灝?1鑳屽寘闂鐨勫熀鏈濊礬鍔犱互鏀硅繘錛屽緱鍒頒簡榪欐牱涓涓竻鏅扮殑鏂規硶銆傝繖璇存槑01鑳屽寘闂鐨勬柟紼嬬殑紜槸寰堥噸瑕侊紝鍙互鎺ㄥ強鍏跺畠綾誨瀷鐨勮儗鍖呴棶棰樸備絾鎴戜滑榪樻槸璇曞浘鏀硅繘榪欎釜澶嶆潅搴︺?/div>
涓涓畝鍗曟湁鏁堢殑浼樺寲
瀹屽叏鑳屽寘闂鏈変竴涓緢綆鍗曟湁鏁堢殑浼樺寲錛屾槸榪欐牱鐨勶細鑻ヤ袱浠剁墿鍝乮銆乯婊¤凍c[i]<=c[j]涓攚[i]>=w[j]錛屽垯灝嗙墿鍝乯鍘繪帀錛屼笉鐢ㄨ冭檻銆傝繖涓紭鍖栫殑姝g‘鎬ф樉鐒訛細浠諱綍鎯呭喌涓嬮兘鍙皢浠峰煎皬璐圭敤楂樺緱j鎹㈡垚鐗╃編浠峰粔鐨刬錛屽緱鍒拌嚦灝戜笉浼氭洿宸殑鏂規銆傚浜庨殢鏈虹敓鎴愮殑鏁版嵁錛岃繖涓柟娉曞線寰浼氬ぇ澶у噺灝戠墿鍝佺殑浠舵暟錛屼粠鑰屽姞蹇熷害銆傜劧鑰岃繖涓茍涓嶈兘鏀瑰杽鏈鍧忔儏鍐電殑澶嶆潅搴︼紝鍥犱負鏈夊彲鑳界壒鍒璁$殑鏁版嵁鍙互涓浠剁墿鍝佷篃鍘諱笉鎺夈?/div>
榪欎釜浼樺寲鍙互綆鍗曠殑O(N^2)鍦板疄鐜幫紝涓鑸兘鍙互鎵垮彈銆傚彟澶栵紝閽堝鑳屽寘闂鑰岃█錛屾瘮杈冧笉閿欑殑涓縐嶆柟娉曟槸錛氶鍏堝皢璐圭敤澶т簬V鐨勭墿鍝佸幓鎺夛紝鐒跺悗浣跨敤綾諱技璁℃暟鎺掑簭鐨勫仛娉曪紝璁$畻鍑鴻垂鐢ㄧ浉鍚岀殑鐗╁搧涓環鍊兼渶楂樼殑鏄摢涓紝鍙互O(V+N)鍦板畬鎴愯繖涓紭鍖栥傝繖涓笉澶噸瑕佺殑榪囩▼灝變笉緇欏嚭浼唬鐮佷簡錛屽笇鏈涗綘鑳界嫭绔嬫濊冨啓鍑轟吉浠g爜鎴栫▼搴忋?/div>
杞寲涓?1鑳屽寘闂姹傝В
鏃㈢劧01鑳屽寘闂鏄渶鍩烘湰鐨勮儗鍖呴棶棰橈紝閭d箞鎴戜滑鍙互鑰冭檻鎶婂畬鍏ㄨ儗鍖呴棶棰樿漿鍖栦負01鑳屽寘闂鏉ヨВ銆傛渶綆鍗曠殑鎯蟲硶鏄紝鑰冭檻鍒扮i縐嶇墿鍝佹渶澶氶塚/c[i]浠訛紝浜庢槸鍙互鎶婄i縐嶇墿鍝佽漿鍖栦負V/c[i]浠惰垂鐢ㄥ強浠峰煎潎涓嶅彉鐨勭墿鍝侊紝鐒跺悗姹傝В榪欎釜01鑳屽寘闂銆傝繖鏍峰畬鍏ㄦ病鏈夋敼榪涘熀鏈濊礬鐨勬椂闂村鏉傚害錛屼絾榪欐瘯绔熺粰浜嗘垜浠皢瀹屽叏鑳屽寘闂杞寲涓?1鑳屽寘闂鐨勬濊礬錛氬皢涓縐嶇墿鍝佹媶鎴愬浠剁墿鍝併?/div>
鏇撮珮鏁堢殑杞寲鏂規硶鏄細鎶婄i縐嶇墿鍝佹媶鎴愯垂鐢ㄤ負c[i]*2^k銆佷環鍊間負w[i]*2^k鐨勮嫢騫蹭歡鐗╁搧錛屽叾涓璳婊¤凍c[i]*2^k<=V銆傝繖鏄簩榪涘埗鐨勬濇兂錛屽洜涓轟笉綆℃渶浼樼瓥鐣ラ夊嚑浠剁i縐嶇墿鍝侊紝鎬誨彲浠ヨ〃紺烘垚鑻ュ共涓?^k浠剁墿鍝佺殑鍜屻傝繖鏍鋒妸姣忕鐗╁搧鎷嗘垚O(log(V/c[i]))浠剁墿鍝侊紝鏄竴涓緢澶х殑鏀硅繘銆?/div>
浣嗘垜浠湁鏇翠紭鐨凮(VN)鐨勭畻娉曘?/div>
O(VN)鐨勭畻娉?/div>
榪欎釜綆楁硶浣跨敤涓緇存暟緇勶紝鍏堢湅浼唬鐮侊細
for i=1..N
    for v=0..V
        f[v]=max{f[v],f[v-cost]+weight}
浣犱細鍙戠幇錛岃繖涓吉浠g爜涓嶱01鐨勪吉浠g爜鍙湁v鐨勫驚鐜搴忎笉鍚岃屽凡銆備負浠涔堣繖鏍蜂竴鏀瑰氨鍙鍛紵棣栧厛鎯蟲兂涓轟粈涔圥01涓鎸夌収v=V..0鐨勯嗗簭鏉ュ驚鐜傝繖鏄洜涓鴻淇濊瘉絎琲嬈″驚鐜腑鐨勭姸鎬乫[i][v]鏄敱鐘舵乫[i-1][v-c[i]]閫掓帹鑰屾潵銆傛崲鍙ヨ瘽璇達紝榪欐鏄負浜嗕繚璇佹瘡浠剁墿鍝佸彧閫変竴嬈★紝淇濊瘉鍦ㄨ冭檻“閫夊叆絎琲浠剁墿鍝?#8221;榪欎歡絳栫暐鏃訛紝渚濇嵁鐨勬槸涓涓粷鏃犲凡緇忛夊叆絎琲浠剁墿鍝佺殑瀛愮粨鏋渇[i-1][v-c[i]]銆傝岀幇鍦ㄥ畬鍏ㄨ儗鍖呯殑鐗圭偣鎭版槸姣忕鐗╁搧鍙夋棤闄愪歡錛屾墍浠ュ湪鑰冭檻“鍔犻変竴浠剁i縐嶇墿鍝?#8221;榪欑絳栫暐鏃訛紝鍗存闇瑕佷竴涓彲鑳藉凡閫夊叆絎琲縐嶇墿鍝佺殑瀛愮粨鏋渇[i][v-c[i]]錛屾墍浠ュ氨鍙互騫朵笖蹇呴』閲囩敤v=0..V鐨勯『搴忓驚鐜傝繖灝辨槸榪欎釜綆鍗曠殑紼嬪簭涓轟綍鎴愮珛鐨勯亾鐞嗐?/div>
榪欎釜綆楁硶涔熷彲浠ヤ互鍙﹀鐨勬濊礬寰楀嚭銆備緥濡傦紝鍩烘湰鎬濊礬涓殑鐘舵佽漿縐繪柟紼嬪彲浠ョ瓑浠峰湴鍙樺艦鎴愯繖縐嶅艦寮忥細
f[i][v]=max{f[i-1][v],f[i][v-c[i]]+w[i]}
灝嗚繖涓柟紼嬬敤涓緇存暟緇勫疄鐜幫紝渚垮緱鍒頒簡涓婇潰鐨勪吉浠g爜銆?/div>
鏈鍚庢娊璞″嚭澶勭悊涓浠跺畬鍏ㄨ儗鍖呯被鐗╁搧鐨勮繃紼嬩吉浠g爜錛屼互鍚庝細鐢ㄥ埌錛?/div>
procedure CompletePack(cost,weight)
    for v=cost..V
        f[v]=max{f[v],f[v-c[i]]+w[i]}
鎬葷粨
瀹屽叏鑳屽寘闂涔熸槸涓涓浉褰撳熀紜鐨勮儗鍖呴棶棰橈紝瀹冩湁涓や釜鐘舵佽漿縐繪柟紼嬶紝鍒嗗埆鍦?#8220;鍩烘湰鎬濊礬”浠ュ強“O(VN)鐨勭畻娉?#8220;鐨勫皬鑺備腑緇欏嚭銆傚笇鏈涗綘鑳藉瀵硅繖涓や釜鐘舵佽漿縐繪柟紼嬮兘浠旂粏鍦頒綋浼氾紝涓嶄粎璁頒綇錛屼篃瑕佸紕鏄庣櫧瀹冧滑鏄庝箞寰楀嚭鏉ョ殑錛屾渶濂借兘澶熻嚜宸辨兂涓縐嶅緱鍒拌繖浜涙柟紼嬬殑鏂規硶銆備簨瀹炰笂錛屽姣忎竴閬撳姩鎬佽鍒掗鐩兘鎬濊冨叾鏂圭▼鐨勬剰涔変互鍙婂浣曞緱鏉ワ紝鏄姞娣卞鍔ㄦ佽鍒掔殑鐞嗚В銆佹彁楂樺姩鎬佽鍒掑姛鍔涚殑濂芥柟娉曘?/div>
棣栭〉

P03: 澶氶噸鑳屽寘闂
棰樼洰
鏈塏縐嶇墿鍝佸拰涓涓閲忎負V鐨勮儗鍖呫傜i縐嶇墿鍝佹渶澶氭湁n[i]浠跺彲鐢紝姣忎歡璐圭敤鏄痗[i]錛屼環鍊兼槸w[i]銆傛眰瑙e皢鍝簺鐗╁搧瑁呭叆鑳屽寘鍙嬌榪欎簺鐗╁搧鐨勮垂鐢ㄦ誨拰涓嶈秴榪囪儗鍖呭閲忥紝涓斾環鍊兼誨拰鏈澶с?/div>
鍩烘湰綆楁硶
榪欓鐩拰瀹屽叏鑳屽寘闂寰堢被浼箋傚熀鏈殑鏂圭▼鍙渶灝嗗畬鍏ㄨ儗鍖呴棶棰樼殑鏂圭▼鐣ュ井涓鏀瑰嵆鍙紝鍥犱負瀵逛簬絎琲縐嶇墿鍝佹湁n[i]+1縐嶇瓥鐣ワ細鍙?浠訛紝鍙?浠?#8230;…鍙杗[i]浠躲備護f[i][v]琛ㄧず鍓峣縐嶇墿鍝佹伆鏀懼叆涓涓閲忎負v鐨勮儗鍖呯殑鏈澶ф潈鍊鹼紝鍒欐湁鐘舵佽漿縐繪柟紼嬶細
f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0<=k<=n[i]}
澶嶆潅搴︽槸O(V*Σn[i])銆?/div>
杞寲涓?1鑳屽寘闂
鍙︿竴縐嶅ソ鎯沖ソ鍐欑殑鍩烘湰鏂規硶鏄漿鍖栦負01鑳屽寘姹傝В錛氭妸絎琲縐嶇墿鍝佹崲鎴恘[i]浠?1鑳屽寘涓殑鐗╁搧錛屽垯寰楀埌浜嗙墿鍝佹暟涓?#931;n[i]鐨?1鑳屽寘闂錛岀洿鎺ユ眰瑙o紝澶嶆潅搴︿粛鐒舵槸O(V*Σn[i])銆?/div>
浣嗘槸鎴戜滑鏈熸湜灝嗗畠杞寲涓?1鑳屽寘闂涔嬪悗鑳藉鍍忓畬鍏ㄨ儗鍖呬竴鏍烽檷浣庡鏉傚害銆備粛鐒惰冭檻浜岃繘鍒剁殑鎬濇兂錛屾垜浠冭檻鎶婄i縐嶇墿鍝佹崲鎴愯嫢騫蹭歡鐗╁搧錛屼嬌寰楀師闂涓i縐嶇墿鍝佸彲鍙栫殑姣忕絳栫暐鈥斺斿彇0..n[i]浠垛斺斿潎鑳界瓑浠蜂簬鍙栬嫢騫蹭歡浠f崲浠ュ悗鐨勭墿鍝併傚彟澶栵紝鍙栬秴榪噉[i]浠剁殑絳栫暐蹇呬笉鑳藉嚭鐜般?/div>
鏂規硶鏄細灝嗙i縐嶇墿鍝佸垎鎴愯嫢騫蹭歡鐗╁搧錛屽叾涓瘡浠剁墿鍝佹湁涓涓郴鏁幫紝榪欎歡鐗╁搧鐨勮垂鐢ㄥ拰浠峰煎潎鏄師鏉ョ殑璐圭敤鍜屼環鍊間箻浠ヨ繖涓郴鏁般備嬌榪欎簺緋繪暟鍒嗗埆涓?,2,4,...,2^(k-1),n[i]-2^k+1錛屼笖k鏄弧瓚硁[i]-2^k+1>0鐨勬渶澶ф暣鏁般備緥濡傦紝濡傛灉n[i]涓?3錛屽氨灝嗚繖縐嶇墿鍝佸垎鎴愮郴鏁板垎鍒負1,2,4,6鐨勫洓浠剁墿鍝併?/div>
鍒嗘垚鐨勮繖鍑犱歡鐗╁搧鐨勭郴鏁板拰涓簄[i]錛岃〃鏄庝笉鍙兘鍙栧浜巒[i]浠剁殑絎琲縐嶇墿鍝併傚彟澶栬繖縐嶆柟娉曚篃鑳戒繚璇佸浜?..n[i]闂寸殑姣忎竴涓暣鏁幫紝鍧囧彲浠ョ敤鑻ュ共涓郴鏁扮殑鍜岃〃紺猴紝榪欎釜璇佹槑鍙互鍒?..2^k-1鍜?^k..n[i]涓ゆ鏉ュ垎鍒璁哄緱鍑猴紝騫朵笉闅撅紝甯屾湜浣犺嚜宸辨濊冨皾璇曚竴涓嬨?/div>
榪欐牱灝卞皢絎琲縐嶇墿鍝佸垎鎴愪簡O(log n[i])縐嶇墿鍝侊紝灝嗗師闂杞寲涓轟簡澶嶆潅搴︿負O(V*Σlog n[i])鐨?1鑳屽寘闂錛屾槸寰堝ぇ鐨勬敼榪涖?/div>
涓嬮潰緇欏嚭O(log amount)鏃墮棿澶勭悊涓浠跺閲嶈儗鍖呬腑鐗╁搧鐨勮繃紼嬶紝鍏朵腑amount琛ㄧず鐗╁搧鐨勬暟閲忥細
procedure MultiplePack(cost,weight,amount)
    if cost*amount>=V
        CompletePack(cost,weight)
        return
    integer k=1
    while k<num
        ZeroOnePack(k*cost,k*weight)
        amount=amount-k
        k=k*2
    ZeroOnePack(amount*cost,amount*weight)
甯屾湜浣犱粩緇嗕綋浼氳繖涓吉浠g爜錛屽鏋滀笉澶悊瑙g殑璇濓紝涓嶅Θ緲昏瘧鎴愮▼搴忎唬鐮佷互鍚庯紝鍗曟鎵ц鍑犳錛屾垨鑰呭ご鑴戝姞綰哥瑪妯℃嫙涓涓嬶紝涔熻灝變細鎱㈡參鐞嗚В浜嗐?/div>
O(VN)鐨勭畻娉?/div>
澶氶噸鑳屽寘闂鍚屾牱鏈塐(VN)鐨勭畻娉曘傝繖涓畻娉曞熀浜庡熀鏈畻娉曠殑鐘舵佽漿縐繪柟紼嬶紝浣嗗簲鐢ㄥ崟璋冮槦鍒楃殑鏂規硶浣挎瘡涓姸鎬佺殑鍊煎彲浠ヤ互鍧囨憡O(1)鐨勬椂闂存眰瑙c傜敱浜庣敤鍗曡皟闃熷垪浼樺寲鐨凞P宸茶秴鍑轟簡NOIP鐨勮寖鍥達紝鏁呮湰鏂囦笉鍐嶅睍寮璁茶В銆傛垜鏈鍒濅簡瑙e埌榪欎釜鏂規硶鏄湪妤煎ぉ鎴愮殑“鐢蜂漢鍏”騫葷伅鐗囦笂銆?/div>
灝忕粨
榪欓噷鎴戜滑鐪嬪埌浜嗗皢涓涓畻娉曠殑澶嶆潅搴︾敱O(V*Σn[i])鏀硅繘鍒癘(V*Σlog n[i])鐨勮繃紼嬶紝榪樼煡閬撲簡瀛樺湪搴旂敤瓚呭嚭NOIP鑼冨洿鐨勭煡璇嗙殑O(VN)綆楁硶銆傚笇鏈涗綘鐗瑰埆娉ㄦ剰“鎷嗗垎鐗╁搧”鐨勬濇兂鍜屾柟娉曪紝鑷繁璇佹槑涓涓嬪畠鐨勬紜э紝騫跺皢瀹屾暣鐨勭▼搴忎唬鐮佸啓鍑烘潵銆?/div>
棣栭〉

P04: 娣峰悎涓夌鑳屽寘闂
闂
濡傛灉灝哖01銆丳02銆丳03娣峰悎璧鋒潵銆備篃灝辨槸璇達紝鏈夌殑鐗╁搧鍙彲浠ュ彇涓嬈★紙01鑳屽寘錛夛紝鏈夌殑鐗╁搧鍙互鍙栨棤闄愭錛堝畬鍏ㄨ儗鍖咃級錛屾湁鐨勭墿鍝佸彲浠ュ彇鐨勬鏁版湁涓涓笂闄愶紙澶氶噸鑳屽寘錛夈傚簲璇ユ庝箞姹傝В鍛紵
01鑳屽寘涓庡畬鍏ㄨ儗鍖呯殑娣峰悎
鑰冭檻鍒板湪P01鍜孭02涓粰鍑虹殑浼唬鐮佸彧鏈変竴澶勪笉鍚岋紝鏁呭鏋滃彧鏈変袱綾葷墿鍝侊細涓綾葷墿鍝佸彧鑳藉彇涓嬈★紝鍙︿竴綾葷墿鍝佸彲浠ュ彇鏃犻檺嬈★紝閭d箞鍙渶鍦ㄥ姣忎釜鐗╁搧搴旂敤杞Щ鏂圭▼鏃訛紝鏍規嵁鐗╁搧鐨勭被鍒夌敤欏哄簭鎴栭嗗簭鐨勫驚鐜嵆鍙紝澶嶆潅搴︽槸O(VN)銆備吉浠g爜濡備笅錛?/div>
for i=1..N
    if 絎琲浠剁墿鍝佹槸01鑳屽寘
        for v=V..0
            f[v]=max{f[v],f[v-c[i]]+w[i]};
    else if 絎琲浠剁墿鍝佹槸瀹屽叏鑳屽寘
        for v=0..V
            f[v]=max{f[v],f[v-c[i]]+w[i]};
鍐嶅姞涓婂閲嶈儗鍖?/div>
濡傛灉鍐嶅姞涓婃湁鐨勭墿鍝佹渶澶氬彲浠ュ彇鏈夐檺嬈★紝閭d箞鍘熷垯涓婁篃鍙互緇欏嚭O(VN)鐨勮В娉曪細閬囧埌澶氶噸鑳屽寘綾誨瀷鐨勭墿鍝佺敤鍗曡皟闃熷垪瑙e嵆鍙備絾濡傛灉涓嶈冭檻瓚呰繃NOIP鑼冨洿鐨勭畻娉曠殑璇濓紝鐢≒03涓皢姣忎釜榪欑被鐗╁搧鍒嗘垚O(log n[i])涓?1鑳屽寘鐨勭墿鍝佺殑鏂規硶涔熷凡緇忓緢浼樹簡銆?/div>
褰撶劧錛屾洿娓呮櫚鐨勫啓娉曟槸璋冪敤鎴戜滑鍓嶉潰緇欏嚭鐨勪笁涓浉鍏寵繃紼嬨?/div>
for i=1..N
    if 絎琲浠剁墿鍝佹槸01鑳屽寘
        ZeroOnePack(c[i],w[i])
    else if 絎琲浠剁墿鍝佹槸瀹屽叏鑳屽寘
        CompletePack(c[i],w[i])
    else if 絎琲浠剁墿鍝佹槸澶氶噸鑳屽寘
        MultiplePack(c[i],w[i],n[i])
鍦ㄦ渶鍒濆啓鍑鴻繖涓変釜榪囩▼鐨勬椂鍊欙紝鍙兘瀹屽叏娌℃湁鎯沖埌瀹冧滑浼氬湪榪欓噷娣峰悎搴旂敤銆傛垜鎯寵繖浣撶幇浜嗙紪紼嬩腑鎶借薄鐨勫▉鍔涖傚鏋滀綘涓鐩村氨鏄互榪欑“鎶借薄鍑鴻繃紼?#8221;鐨勬柟寮忓啓姣忎竴綾昏儗鍖呴棶棰樼殑錛屼篃闈炲父娓呮瀹冧滑鐨勫疄鐜頒腑緇嗗井鐨勪笉鍚岋紝閭d箞鍦ㄩ亣鍒版販鍚堜笁縐嶈儗鍖呴棶棰樼殑棰樼洰鏃訛紝涓瀹氳兘寰堝揩鎯沖埌涓婇潰綆媧佺殑瑙f硶錛屽鍚楋紵
灝忕粨
鏈変漢璇達紝鍥伴毦鐨勯鐩兘鏄敱綆鍗曠殑棰樼洰鍙犲姞鑰屾潵鐨勩傝繖鍙ヨ瘽鏄惁鍏悊鏆備笖瀛樹箣涓嶈錛屼絾瀹冨湪鏈涓凡緇忓緱鍒頒簡鍏呭垎鐨勪綋鐜般傛湰鏉?1鑳屽寘銆佸畬鍏ㄨ儗鍖呫佸閲嶈儗鍖呴兘涓嶆槸浠涔堥毦棰橈紝浣嗗皢瀹冧滑綆鍗曞湴緇勫悎璧鋒潵浠ュ悗灝卞緱鍒頒簡榪欐牱涓閬撲竴瀹氳兘鍚撳掍笉灝戜漢鐨勯鐩備絾鍙鍩虹鎵庡疄錛岄浼氫笁縐嶅熀鏈儗鍖呴棶棰樼殑鎬濇兂錛屽氨鍙互鍋氬埌鎶婂洶闅劇殑棰樼洰鎷嗗垎鎴愮畝鍗曠殑棰樼洰鏉ヨВ鍐熾?/div>
棣栭〉

P05: 浜岀淮璐圭敤鐨勮儗鍖呴棶棰?/div>
闂
浜岀淮璐圭敤鐨勮儗鍖呴棶棰樻槸鎸囷細瀵逛簬姣忎歡鐗╁搧錛屽叿鏈変袱縐嶄笉鍚岀殑璐圭敤錛涢夋嫨榪欎歡鐗╁搧蹇呴』鍚屾椂浠樺嚭榪欎袱縐嶄唬浠鳳紱瀵逛簬姣忕浠d環閮芥湁涓涓彲浠樺嚭鐨勬渶澶у鹼紙鑳屽寘瀹歸噺錛夈傞棶鎬庢牱閫夋嫨鐗╁搧鍙互寰楀埌鏈澶х殑浠峰箋傝榪欎袱縐嶄唬浠峰垎鍒負浠d環1鍜屼唬浠?錛岀i浠剁墿鍝佹墍闇鐨勪袱縐嶄唬浠峰垎鍒負a[i]鍜宐[i]銆備袱縐嶄唬浠峰彲浠樺嚭鐨勬渶澶у鹼紙涓ょ鑳屽寘瀹歸噺錛夊垎鍒負V鍜孶銆傜墿鍝佺殑浠峰間負w[i]銆?/div>
綆楁硶
璐圭敤鍔犱簡涓緇達紝鍙渶鐘舵佷篃鍔犱竴緇村嵆鍙傝f[i][v][u]琛ㄧず鍓峣浠剁墿鍝佷粯鍑轟袱縐嶄唬浠峰垎鍒負v鍜寀鏃跺彲鑾峰緱鐨勬渶澶т環鍊箋傜姸鎬佽漿縐繪柟紼嬪氨鏄細
f[i][v][u]=max{f[i-1][v][u],f[i-1][v-a[i]][u-b[i]]+w[i]}
濡傚墠榪版柟娉曪紝鍙互鍙嬌鐢ㄤ簩緇寸殑鏁扮粍錛氬綋姣忎歡鐗╁搧鍙彲浠ュ彇涓嬈℃椂鍙橀噺v鍜寀閲囩敤閫嗗簭鐨勫驚鐜紝褰撶墿鍝佹湁濡傚畬鍏ㄨ儗鍖呴棶棰樻椂閲囩敤欏哄簭鐨勫驚鐜傚綋鐗╁搧鏈夊澶氶噸鑳屽寘闂鏃舵媶鍒嗙墿鍝併傝繖閲屽氨涓嶅啀緇欏嚭浼唬鐮佷簡錛岀浉淇℃湁浜嗗墠闈㈢殑鍩虹錛屼綘鑳藉鑷繁瀹炵幇鍑鴻繖涓棶棰樼殑紼嬪簭銆?/div>
鐗╁搧鎬諱釜鏁扮殑闄愬埗
鏈夋椂錛?#8220;浜岀淮璐圭敤”鐨勬潯浠舵槸浠ヨ繖鏍蜂竴縐嶉殣鍚殑鏂瑰紡緇欏嚭鐨勶細鏈澶氬彧鑳藉彇M浠剁墿鍝併傝繖浜嬪疄涓婄浉褰撲簬姣忎歡鐗╁搧澶氫簡涓縐?#8220;浠舵暟”鐨勮垂鐢紝姣忎釜鐗╁搧鐨勪歡鏁拌垂鐢ㄥ潎涓?錛屽彲浠ヤ粯鍑虹殑鏈澶т歡鏁拌垂鐢ㄤ負M銆傛崲鍙ヨ瘽璇達紝璁緁[v][M] 琛ㄧず浠樺嚭璐圭敤v銆佹渶澶氶塵浠舵椂鍙緱鍒扮殑鏈澶т環鍊鹼紝鍒欐牴鎹墿鍝佺殑綾誨瀷錛?1銆佸畬鍏ㄣ佸閲嶏級鐢ㄤ笉鍚岀殑鏂規硶寰幆鏇存柊錛屾渶鍚庡湪f[0..V][0..M]鑼冨洿鍐呭鎵劇瓟妗堛俒/M]
灝忕粨
褰撳彂鐜扮敱鐔熸倝鐨勫姩鎬佽鍒掗鐩彉褰㈠緱鏉ョ殑棰樼洰鏃訛紝鍦ㄥ師鏉ョ殑鐘舵佷腑鍔犱竴綰互婊¤凍鏂扮殑闄愬埗鏄竴縐嶆瘮杈冮氱敤鐨勬柟娉曘傚笇鏈涗綘鑳戒粠鏈涓垵姝ヤ綋浼氬埌榪欑鏂規硶銆?/div>

P06: 鍒嗙粍鐨勮儗鍖呴棶棰?/div>
闂
鏈塏浠剁墿鍝佸拰涓涓閲忎負V鐨勮儗鍖呫傜i浠剁墿鍝佺殑璐圭敤鏄痗[i]錛屼環鍊兼槸w[i]銆傝繖浜涚墿鍝佽鍒掑垎涓鴻嫢騫茬粍錛屾瘡緇勪腑鐨勭墿鍝佷簰鐩稿啿紿侊紝鏈澶氶変竴浠躲傛眰瑙e皢鍝簺鐗╁搧瑁呭叆鑳屽寘鍙嬌榪欎簺鐗╁搧鐨勮垂鐢ㄦ誨拰涓嶈秴榪囪儗鍖呭閲忥紝涓斾環鍊兼誨拰鏈澶с?/div>
綆楁硶
榪欎釜闂鍙樻垚浜嗘瘡緇勭墿鍝佹湁鑻ュ共縐嶇瓥鐣ワ細鏄夋嫨鏈粍鐨勬煇涓浠訛紝榪樻槸涓浠墮兘涓嶉夈備篃灝辨槸璇磋f[k][v]琛ㄧず鍓峩緇勭墿鍝佽姳璐硅垂鐢╲鑳藉彇寰楃殑鏈澶ф潈鍊鹼紝鍒欐湁錛?/div>
f[k][v]=max{f[k-1][v],f[k-1][v-c[i]]+w[i]|鐗╁搧i灞炰簬絎琸緇剗
浣跨敤涓緇存暟緇勭殑浼唬鐮佸涓嬶細
for 鎵鏈夌殑緇刱
    for v=V..0
        for 鎵鏈夌殑i灞炰簬緇刱
            f[v]=max{f[v],f[v-c[i]]+w[i]}
娉ㄦ剰榪欓噷鐨勪笁灞傚驚鐜殑欏哄簭錛岀敋鑷沖湪鏈枃鐨刡eta鐗堜腑鎴戣嚜宸遍兘鍐欓敊浜嗐?#8220;for v=V..0”榪欎竴灞傚驚鐜繀欏誨湪“for 鎵鏈夌殑i灞炰簬緇刱”涔嬪銆傝繖鏍鋒墠鑳戒繚璇佹瘡涓緇勫唴鐨勭墿鍝佹渶澶氬彧鏈変竴涓細琚坊鍔犲埌鑳屽寘涓?/div>
鍙﹀錛屾樉鐒跺彲浠ュ姣忕粍鍐呯殑鐗╁搧搴旂敤P02涓?#8220;涓涓畝鍗曟湁鏁堢殑浼樺寲”銆?/div>
灝忕粨
鍒嗙粍鐨勮儗鍖呴棶棰樺皢褰兼浜掓枼鐨勮嫢騫茬墿鍝佺О涓轟竴涓粍錛岃繖寤虹珛浜嗕竴涓緢濂界殑妯″瀷銆備笉灝戣儗鍖呴棶棰樼殑鍙樺艦閮藉彲浠ヨ漿鍖栦負鍒嗙粍鐨勮儗鍖呴棶棰橈紙渚嬪P07錛夛紝鐢卞垎緇勭殑鑳屽寘闂榪涗竴姝ュ彲瀹氫箟“娉涘寲鐗╁搧”鐨勬蹇碉紝鍗佸垎鏈夊埄浜庤В棰樸?/div>
棣栭〉

P07: 鏈変緷璧栫殑鑳屽寘闂
綆鍖栫殑闂
榪欑鑳屽寘闂鐨勭墿鍝侀棿瀛樺湪鏌愮“渚濊禆”鐨勫叧緋匯備篃灝辨槸璇達紝i渚濊禆浜巎錛岃〃紺鴻嫢閫夌墿鍝乮錛屽垯蹇呴』閫夌墿鍝乯銆備負浜嗙畝鍖栬搗瑙侊紝鎴戜滑鍏堣娌℃湁鏌愪釜鐗╁搧鏃緷璧栦簬鍒殑鐗╁搧錛屽張琚埆鐨勭墿鍝佹墍渚濊禆錛涘彟澶栵紝娌℃湁鏌愪歡鐗╁搧鍚屾椂渚濊禆澶氫歡鐗╁搧銆?/div>
綆楁硶
榪欎釜闂鐢盢OIP2006閲戞槑鐨勯綆楁柟妗堜竴棰樻墿灞曡屾潵銆傞伒浠庤棰樼殑鎻愭硶錛屽皢涓嶄緷璧栦簬鍒殑鐗╁搧鐨勭墿鍝佺О涓?#8220;涓諱歡”錛屼緷璧栦簬鏌愪富浠剁殑鐗╁搧縐頒負“闄勪歡”銆傜敱榪欎釜闂鐨勭畝鍖栨潯浠跺彲鐭ユ墍鏈夌殑鐗╁搧鐢辮嫢騫蹭富浠跺拰渚濊禆浜庢瘡涓富浠剁殑涓涓檮浠墮泦鍚堢粍鎴愩?/div>
鎸夌収鑳屽寘闂鐨勪竴鑸濊礬錛屼粎鑰冭檻涓涓富浠跺拰瀹冪殑闄勪歡闆嗗悎銆傚彲鏄紝鍙敤鐨勭瓥鐣ラ潪甯稿錛屽寘鎷細涓涓篃涓嶉夛紝浠呴夋嫨涓諱歡錛岄夋嫨涓諱歡鍚庡啀閫夋嫨涓涓檮浠訛紝閫夋嫨涓諱歡鍚庡啀閫夋嫨涓や釜闄勪歡……鏃犳硶鐢ㄧ姸鎬佽漿縐繪柟紼嬫潵琛ㄧず濡傛澶氱殑絳栫暐銆傦紙浜嬪疄涓婏紝璁炬湁n涓檮浠訛紝鍒欑瓥鐣ユ湁2^n+1涓紝涓烘寚鏁扮駭銆傦級
鑰冭檻鍒版墍鏈夎繖浜涚瓥鐣ラ兘鏄簰鏂ョ殑錛堜篃灝辨槸璇達紝浣犲彧鑳介夋嫨涓縐嶇瓥鐣ワ級錛屾墍浠ヤ竴涓富浠跺拰瀹冪殑闄勪歡闆嗗悎瀹為檯涓婂搴斾簬P06涓殑涓涓墿鍝佺粍錛屾瘡涓夋嫨浜嗕富浠跺張閫夋嫨浜嗚嫢騫蹭釜闄勪歡鐨勭瓥鐣ュ搴斾簬榪欎釜鐗╁搧緇勪腑鐨勪竴涓墿鍝侊紝鍏惰垂鐢ㄥ拰浠峰奸兘鏄繖涓瓥鐣ヤ腑鐨勭墿鍝佺殑鍊肩殑鍜屻備絾浠呬粎鏄繖涓姝ヨ漿鍖栧茍涓嶈兘緇欏嚭涓涓ソ鐨勭畻娉曪紝鍥犱負鐗╁搧緇勪腑鐨勭墿鍝佽繕鏄儚鍘熼棶棰樼殑絳栫暐涓鏍峰銆?/div>
鍐嶈冭檻P06涓殑涓鍙ヨ瘽錛?鍙互瀵規瘡緇勪腑鐨勭墿鍝佸簲鐢≒02涓?#8220;涓涓畝鍗曟湁鏁堢殑浼樺寲”銆?榪欐彁紺烘垜浠紝瀵逛簬涓涓墿鍝佺粍涓殑鐗╁搧錛屾墍鏈夎垂鐢ㄧ浉鍚岀殑鐗╁搧鍙暀涓涓環鍊兼渶澶х殑錛屼笉褰卞搷緇撴灉銆傛墍浠ワ紝鎴戜滑鍙互瀵逛富浠秈鐨?#8220;闄勪歡闆嗗悎”鍏堣繘琛屼竴嬈?1鑳屽寘錛屽緱鍒拌垂鐢ㄤ緷嬈′負0..V-c[i]鎵鏈夎繖浜涘兼椂鐩稿簲鐨勬渶澶т環鍊糵'[0..V-c[i]]銆傞偅涔堣繖涓富浠跺強瀹冪殑闄勪歡闆嗗悎鐩稿綋浜嶸-c[i]+1涓墿鍝佺殑鐗╁搧緇勶紝鍏朵腑璐圭敤涓篶[i]+k鐨勭墿鍝佺殑浠峰間負f'[k]+w[i]銆備篃灝辨槸璇村師鏉ユ寚鏁扮駭鐨勭瓥鐣ヤ腑鏈夊緢澶氱瓥鐣ラ兘鏄啑浣欑殑錛岄氳繃涓嬈?1鑳屽寘鍚庯紝灝嗕富浠秈杞寲涓篤-c[i]+1涓墿鍝佺殑鐗╁搧緇勶紝灝卞彲浠ョ洿鎺ュ簲鐢≒06鐨勭畻娉曡В鍐抽棶棰樹簡銆?/div>
杈冧竴鑸殑闂
鏇翠竴鑸殑闂鏄細渚濊禆鍏崇郴浠ュ浘璁轟腑“媯灄”鐨勫艦寮忕粰鍑猴紙媯灄鍗沖鍙夋爲鐨勯泦鍚堬級錛屼篃灝辨槸璇達紝涓諱歡鐨勯檮浠朵粛鐒跺彲浠ュ叿鏈夎嚜宸辯殑闄勪歡闆嗗悎錛岄檺鍒跺彧鏄瘡涓墿鍝佹渶澶氬彧渚濊禆浜庝竴涓墿鍝侊紙鍙湁涓涓富浠訛級涓斾笉鍑虹幇寰幆渚濊禆銆?/div>
瑙e喅榪欎釜闂浠嶇劧鍙互鐢ㄥ皢姣忎釜涓諱歡鍙婂叾闄勪歡闆嗗悎杞寲涓虹墿鍝佺粍鐨勬柟寮忋傚敮涓涓嶅悓鐨勬槸錛岀敱浜庨檮浠跺彲鑳借繕鏈夐檮浠訛紝灝變笉鑳藉皢姣忎釜闄勪歡閮界湅浣滀竴涓竴鑸殑01鑳屽寘涓殑鐗╁搧浜嗐傝嫢榪欎釜闄勪歡涔熸湁闄勪歡闆嗗悎錛屽垯瀹冨繀瀹氳琚厛杞寲涓虹墿鍝佺粍錛岀劧鍚庣敤鍒嗙粍鐨勮儗鍖呴棶棰樿В鍑轟富浠跺強鍏墮檮浠墮泦鍚堟墍瀵瑰簲鐨勯檮浠剁粍涓悇涓垂鐢ㄧ殑闄勪歡鎵瀵瑰簲鐨勪環鍊箋?/div>
浜嬪疄涓婏紝榪欐槸涓縐嶆爲褰P錛屽叾鐗圭偣鏄瘡涓埗鑺傜偣閮介渶瑕佸瀹冪殑鍚勪釜鍎垮瓙鐨勫睘鎬ц繘琛屼竴嬈P浠ユ眰寰楄嚜宸辯殑鐩稿叧灞炴с傝繖宸茬粡瑙﹀強鍒頒簡“娉涘寲鐗╁搧”鐨勬濇兂銆傜湅瀹孭08鍚庯紝浣犱細鍙戠幇榪欎釜“渚濊禆鍏崇郴鏍?#8221;姣忎竴涓瓙鏍戦兘絳変環浜庝竴浠舵硾鍖栫墿鍝侊紝姹傛煇鑺傜偣涓烘牴鐨勫瓙鏍戝搴旂殑娉涘寲鐗╁搧鐩稿綋浜庢眰鍏舵墍鏈夊効瀛愮殑瀵瑰簲鐨勬硾鍖栫墿鍝佷箣鍜屻?/div>
灝忕粨
NOIP2006鐨勯偅閬撹儗鍖呴棶棰樻垜鍋氬緱寰堝け璐ワ紝鍐欎簡涓婄櫨琛岀殑浠g爜錛屽嵈涓鍒嗘湭寰椼傚悗鏉ユ垜閫氳繃鎬濊冨彂鐜伴氳繃寮曞叆“鐗╁搧緇?#8221;鍜?#8220;渚濊禆”鐨勬蹇靛彲浠ュ姞娣卞榪欓鐨勭悊瑙o紝榪樺彲浠ヨВ鍐沖畠鐨勬帹騫塊棶棰樸傜敤鐗╁搧緇勭殑鎬濇兂鑰冭檻閭i涓瀬鍏剁壒孌婄殑渚濊禆鍏崇郴錛氱墿鍝佷笉鑳芥棦浣滀富浠跺張浣滈檮浠訛紝姣忎釜涓諱歡鏈澶氭湁涓や釜闄勪歡錛屽彲浠ュ彂鐜頒竴涓富浠跺拰瀹冪殑涓や釜闄勪歡絳変環浜庝竴涓敱鍥涗釜鐗╁搧緇勬垚鐨勭墿鍝佺粍錛岃繖渚挎彮紺轟簡闂鐨勬煇縐嶆湰璐ㄣ?/div>
鎴戞兂璇達細澶辮觸涓嶆槸浠涔堜涪浜虹殑浜嬫儏錛屼粠澶辮觸涓叏鏃犳敹鑾鋒墠鏄?/div>
棣栭〉

P08: 娉涘寲鐗╁搧
瀹氫箟
鑰冭檻榪欐牱涓縐嶇墿鍝侊紝瀹冨茍娌℃湁鍥哄畾鐨勮垂鐢ㄥ拰浠峰鹼紝鑰屾槸瀹冪殑浠峰奸殢鐫浣犲垎閰嶇粰瀹冪殑璐圭敤鑰屽彉鍖栥傝繖灝辨槸娉涘寲鐗╁搧鐨勬蹇點?/div>
鏇翠弗鏍肩殑瀹氫箟涔嬨傚湪鑳屽寘瀹歸噺涓篤鐨勮儗鍖呴棶棰樹腑錛屾硾鍖栫墿鍝佹槸涓涓畾涔夊煙涓?..V涓殑鏁存暟鐨勫嚱鏁癶錛屽綋鍒嗛厤緇欏畠鐨勮垂鐢ㄤ負v鏃訛紝鑳藉緱鍒扮殑浠峰煎氨鏄痟(v)銆?/div>
榪欎釜瀹氫箟鏈変竴鐐圭偣鎶借薄錛屽彟涓縐嶇悊瑙f槸涓涓硾鍖栫墿鍝佸氨鏄竴涓暟緇刪[0..V]錛岀粰瀹冭垂鐢╲錛屽彲寰楀埌浠峰糷[V]銆?/div>
涓涓垂鐢ㄤ負c浠峰間負w鐨勭墿鍝侊紝濡傛灉瀹冩槸01鑳屽寘涓殑鐗╁搧錛岄偅涔堟妸瀹冪湅鎴愭硾鍖栫墿鍝侊紝瀹冨氨鏄櫎浜唄(c)=w鍏跺畠鍑芥暟鍊奸兘涓?鐨勪竴涓嚱鏁般傚鏋滃畠鏄畬鍏ㄨ儗鍖呬腑鐨勭墿鍝侊紝閭d箞瀹冨彲浠ョ湅鎴愯繖鏍蜂竴涓嚱鏁幫紝浠呭綋v琚玞鏁撮櫎鏃舵湁h(v)=v/c*w錛屽叾瀹冨嚱鏁板煎潎涓?銆傚鏋滃畠鏄閲嶈儗鍖呬腑閲嶅嬈℃暟鏈澶氫負n鐨勭墿鍝侊紝閭d箞瀹冨搴旂殑娉涘寲鐗╁搧鐨勫嚱鏁版湁h(v)=v/c*w浠呭綋v琚玞鏁撮櫎涓攙/c<=n錛屽叾瀹冩儏鍐靛嚱鏁板煎潎涓?銆?/div>
涓涓墿鍝佺粍鍙互鐪嬩綔涓涓硾鍖栫墿鍝乭銆傚浜庝竴涓?..V涓殑v錛岃嫢鐗╁搧緇勪腑涓嶅瓨鍦ㄨ垂鐢ㄤ負v鐨勭殑鐗╁搧錛屽垯h(v)=0錛屽惁鍒檋(v)涓烘墍鏈夎垂鐢ㄤ負v鐨勭墿鍝佺殑鏈澶т環鍊箋侾07涓瘡涓富浠跺強鍏墮檮浠墮泦鍚堢瓑浠蜂簬涓涓墿鍝佺粍錛岃嚜鐒朵篃鍙湅浣滀竴涓硾鍖栫墿鍝併?/div>
娉涘寲鐗╁搧鐨勫拰
濡傛灉闈㈠涓や釜娉涘寲鐗╁搧h鍜宭錛岃鐢ㄧ粰瀹氱殑璐圭敤浠庤繖涓や釜娉涘寲鐗╁搧涓緱鍒版渶澶х殑浠峰鹼紝鎬庝箞姹傚憿錛熶簨瀹炰笂錛屽浜庝竴涓粰瀹氱殑璐圭敤v錛屽彧闇鏋氫婦灝嗚繖涓垂鐢ㄥ浣曞垎閰嶇粰涓や釜娉涘寲鐗╁搧灝卞彲浠ヤ簡銆傚悓鏍風殑錛屽浜?..V鐨勬瘡涓涓暣鏁皏錛屽彲浠ユ眰寰楄垂鐢╲鍒嗛厤鍒癶鍜宭涓殑鏈澶т環鍊糵(v)銆備篃鍗砯(v)=max{h(k)+l(v-k)|0<=k<=v}銆傚彲浠ョ湅鍒幫紝f涔熸槸涓涓敱娉涘寲鐗╁搧h鍜宭鍐沖畾鐨勫畾涔夊煙涓?..V鐨勫嚱鏁幫紝涔熷氨鏄錛宖鏄竴涓敱娉涘寲鐗╁搧h鍜宭鍐沖畾鐨勬硾鍖栫墿鍝併?/div>
鐢辨鍙互瀹氫箟娉涘寲鐗╁搧鐨勫拰錛歨銆乴閮芥槸娉涘寲鐗╁搧錛岃嫢娉涘寲鐗╁搧f婊¤凍f(v)=max{h(k)+l(v-k)|0<=k<=v}錛屽垯縐癴鏄痟涓巐鐨勫拰錛屽嵆f=h+l銆傝繖涓繍綆楃殑鏃墮棿澶嶆潅搴﹀彇鍐充簬鑳屽寘鐨勫閲忥紝鏄疧(V^2)銆?/div>
娉涘寲鐗╁搧鐨勫畾涔夎〃鏄庯細鍦ㄤ竴涓儗鍖呴棶棰樹腑錛岃嫢灝嗕袱涓硾鍖栫墿鍝佷唬浠ュ畠浠殑鍜岋紝涓嶅獎鍝嶉棶棰樼殑絳旀銆備簨瀹炰笂錛屽浜庡叾涓殑鐗╁搧閮芥槸娉涘寲鐗╁搧鐨勮儗鍖呴棶棰橈紝姹傚畠鐨勭瓟妗堢殑榪囩▼涔熷氨鏄眰鎵鏈夎繖浜涙硾鍖栫墿鍝佷箣鍜岀殑榪囩▼銆傝姝ゅ拰涓簊錛屽垯絳旀灝辨槸s[0..V]涓殑鏈澶у箋?/div>
鑳屽寘闂鐨勬硾鍖栫墿鍝?/div>
涓涓儗鍖呴棶棰樹腑錛屽彲鑳戒細緇欏嚭寰堝鏉′歡錛屽寘鎷瘡縐嶇墿鍝佺殑璐圭敤銆佷環鍊肩瓑灞炴э紝鐗╁搧涔嬮棿鐨勫垎緇勩佷緷璧栫瓑鍏崇郴絳夈備絾鑲畾鑳藉皢闂瀵瑰簲浜庢煇涓硾鍖栫墿鍝併備篃灝辨槸璇達紝緇欏畾浜嗘墍鏈夋潯浠朵互鍚庯紝灝卞彲浠ュ姣忎釜闈炶礋鏁存暟v姹傚緱錛氳嫢鑳屽寘瀹歸噺涓簐錛屽皢鐗╁搧瑁呭叆鑳屽寘鍙緱鍒扮殑鏈澶т環鍊兼槸澶氬皯錛岃繖鍙互璁や負鏄畾涔夊湪闈炶礋鏁存暟闆嗕笂鐨勪竴浠舵硾鍖栫墿鍝併傝繖涓硾鍖栫墿鍝佲斺旀垨鑰呰闂鎵瀵瑰簲鐨勪竴涓畾涔夊煙涓洪潪璐熸暣鏁扮殑鍑芥暟鈥斺斿寘鍚簡鍏充簬闂鏈韓鐨勯珮搴︽祿緙╃殑淇℃伅銆備竴鑸岃█錛屾眰寰楄繖涓硾鍖栫墿鍝佺殑涓涓瓙鍩燂紙渚嬪0..V錛夌殑鍊間箣鍚庯紝灝卞彲浠ユ牴鎹繖涓嚱鏁扮殑鍙栧煎緱鍒拌儗鍖呴棶棰樼殑鏈緇堢瓟妗堛?/div>
緇間笂鎵榪幫紝涓鑸岃█錛屾眰瑙h儗鍖呴棶棰橈紝鍗蟲眰瑙h繖涓棶棰樻墍瀵瑰簲鐨勪竴涓嚱鏁幫紝鍗寵闂鐨勬硾鍖栫墿鍝併傝屾眰瑙f煇涓硾鍖栫墿鍝佺殑涓縐嶆柟娉曞氨鏄皢瀹冭〃紺轟負鑻ュ共娉涘寲鐗╁搧鐨勫拰鐒跺悗姹備箣銆?/div>
灝忕粨
鏈鍙互璇撮兘鏄垜鑷繁鐨勫師鍒涙濇兂銆傚叿浣撴潵璇達紝鏄垜鍦ㄥ涔犲嚱鏁板紡緙栫▼鐨?Scheme 璇█鏃訛紝鐢ㄥ嚱鏁扮紪紼嬬殑鐪煎厜瀹¤鍚勭被鑳屽寘闂寰楀嚭鐨勭悊璁恒傝繖涓璁茬湡鐨勫緢鎶借薄錛屼篃璁稿湪“妯″瀷鐨勬娊璞$▼搴?#8221;榪欎竴鏂歸潰宸茬粡瓚呭嚭浜哊OIP鐨勮姹傦紝鎵浠ユ殏涓旂湅涓嶆噦涔熸病鍏崇郴銆傜浉淇¢殢鐫浣犵殑OI涔嬭礬閫愭笎寤朵幾錛屾湁涓澶╀綘浼氱悊瑙g殑銆?/div>
鎴戞兂璇達細“鎬濊?#8221;鏄竴涓狾Ier鏈閲嶈鐨勫搧璐ㄣ傜畝鍗曠殑闂錛屾繁鍏ユ濊冧互鍚庯紝涔熻兘鍙戠幇鏇村銆?/div>
棣栭〉

P09: 鑳屽寘闂闂硶鐨勫彉鍖?/div>
浠ヤ笂娑夊強鐨勫悇縐嶈儗鍖呴棶棰橀兘鏄姹傚湪鑳屽寘瀹歸噺錛堣垂鐢級鐨勯檺鍒朵笅姹傚彲浠ュ彇鍒扮殑鏈澶т環鍊鹼紝浣嗚儗鍖呴棶棰樿繕鏈夊緢澶氱鐏墊椿鐨勯棶娉曪紝鍦ㄨ繖閲屽煎緱鎻愪竴涓嬨備絾鏄垜璁や負錛屽彧瑕佹繁鍏ョ悊瑙d簡姹傝儗鍖呴棶棰樻渶澶т環鍊肩殑鏂規硶錛屽嵆浣塊棶娉曞彉鍖栦簡錛屼篃鏄笉闅炬兂鍑虹畻娉曠殑銆?/div>
渚嬪錛屾眰瑙f渶澶氬彲浠ユ斁澶氬皯浠剁墿鍝佹垨鑰呮渶澶氬彲浠ヨ婊″灝戣儗鍖呯殑絀洪棿銆傝繖閮藉彲浠ユ牴鎹叿浣撻棶棰樺埄鐢ㄥ墠闈㈢殑鏂圭▼姹傚嚭鎵鏈夌姸鎬佺殑鍊鹼紙f鏁扮粍錛変箣鍚庡緱鍒般?/div>
榪樻湁錛屽鏋滆姹傜殑鏄?#8220;鎬諱環鍊兼渶灝?#8221;“鎬諱歡鏁版渶灝?#8221;錛屽彧闇綆鍗曠殑灝嗕笂闈㈢殑鐘舵佽漿縐繪柟紼嬩腑鐨刴ax鏀規垚min鍗沖彲銆?/div>
涓嬮潰璇翠竴浜涘彉鍖栨洿澶х殑闂硶銆?/div>
杈撳嚭鏂規
涓鑸岃█錛岃儗鍖呴棶棰樻槸瑕佹眰涓涓渶浼樺鹼紝濡傛灉瑕佹眰杈撳嚭榪欎釜鏈浼樺肩殑鏂規錛屽彲浠ュ弬鐓т竴鑸姩鎬佽鍒掗棶棰樿緭鍑烘柟妗堢殑鏂規硶錛氳褰曚笅姣忎釜鐘舵佺殑鏈浼樺兼槸鐢辯姸鎬佽漿縐繪柟紼嬬殑鍝竴欏規帹鍑烘潵鐨勶紝鎹㈠彞璇濊錛岃褰曚笅瀹冩槸鐢卞摢涓涓瓥鐣ユ帹鍑烘潵鐨勩備究鍙牴鎹繖鏉$瓥鐣ユ壘鍒頒笂涓涓姸鎬侊紝浠庝笂涓涓姸鎬佹帴鐫鍚戝墠鎺ㄥ嵆鍙?/div>
榪樻槸浠?1鑳屽寘涓轟緥錛屾柟紼嬩負f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}銆傚啀鐢ㄤ竴涓暟緇刧[i][v]錛岃g[i][v]=0琛ㄧず鎺ㄥ嚭f[i][v]鐨勫兼椂鏄噰鐢ㄤ簡鏂圭▼鐨勫墠涓欏癸紙涔熷嵆f[i][v]=f[i-1][v]錛夛紝g[i][v]琛ㄧず閲囩敤浜嗘柟紼嬬殑鍚庝竴欏廣傛敞鎰忚繖涓ら」鍒嗗埆琛ㄧず浜嗕袱縐嶇瓥鐣ワ細鏈夌i涓墿鍝佸強閫変簡絎琲涓墿鍝併傞偅涔堣緭鍑烘柟妗堢殑浼唬鐮佸彲浠ヨ繖鏍峰啓錛堣鏈緇堢姸鎬佷負f[N][V]錛夛細
i=N
v=V
while(i>0)
    if(g[i][v]==0)
        print "鏈夌i欏圭墿鍝?
    else if(g[i][v]==1)
        print "閫変簡絎琲欏圭墿鍝?
        v=v-c[i]
鍙﹀錛岄噰鐢ㄦ柟紼嬬殑鍓嶄竴欏規垨鍚庝竴欏逛篃鍙互鍦ㄨ緭鍑烘柟妗堢殑榪囩▼涓牴鎹甪[i][v]鐨勫煎疄鏃跺湴姹傚嚭鏉ワ紝涔熷嵆涓嶉』綰綍g鏁扮粍錛屽皢涓婅堪浠g爜涓殑g[i][v]==0鏀規垚f[i][v]==f[i-1][v]錛実[i][v]==1鏀規垚f[i][v]==f[i-1][v-c[i]]+w[i]涔熷彲銆?/div>
杈撳嚭瀛楀吀搴忔渶灝忕殑鏈浼樻柟妗?/div>
榪欓噷“瀛楀吀搴忔渶灝?#8221;鐨勬剰鎬濇槸1..N鍙風墿鍝佺殑閫夋嫨鏂規鎺掑垪鍑烘潵浠ュ悗瀛楀吀搴忔渶灝忋備互杈撳嚭01鑳屽寘鏈灝忓瓧鍏稿簭鐨勬柟妗堜負渚嬨?/div>
涓鑸岃█錛屾眰涓涓瓧鍏稿簭鏈灝忕殑鏈浼樻柟妗堬紝鍙渶瑕佸湪杞Щ鏃舵敞鎰忕瓥鐣ャ傞鍏堬紝瀛愰棶棰樼殑瀹氫箟瑕佺暐鏀逛竴浜涖傛垜浠敞鎰忓埌錛屽鏋滃瓨鍦ㄤ竴涓変簡鐗╁搧1鐨勬渶浼樻柟妗堬紝閭d箞絳旀涓瀹氬寘鍚墿鍝?錛屽師闂杞寲涓轟竴涓儗鍖呭閲忎負v-c[1]錛岀墿鍝佷負2..N鐨勫瓙闂銆傚弽涔嬶紝濡傛灉絳旀涓嶅寘鍚墿鍝?錛屽垯杞寲鎴愯儗鍖呭閲忎粛涓篤錛岀墿鍝佷負2..N鐨勫瓙闂銆備笉綆$瓟妗堟庢牱錛屽瓙闂鐨勭墿鍝侀兘鏄互i..N鑰岄潪鍓嶆墍榪扮殑1..i鐨勫艦寮忔潵瀹氫箟鐨勶紝鎵浠ョ姸鎬佺殑瀹氫箟鍜岃漿縐繪柟紼嬮兘闇瑕佹敼涓涓嬨備絾涔熻鏇寸畝鏄撶殑鏂規硶鏄厛鎶婄墿鍝侀嗗簭鎺掑垪涓涓嬶紝浠ヤ笅鎸夌墿鍝佸凡琚嗗簭鎺掑垪鏉ュ彊榪般?/div>
鍦ㄨ繖縐嶆儏鍐典笅錛屽彲浠ユ寜鐓у墠闈㈢粡鍏哥殑鐘舵佽漿縐繪柟紼嬫潵姹傚鹼紝鍙槸杈撳嚭鏂規鐨勬椂鍊欒娉ㄦ剰錛氫粠N鍒?杈撳叆鏃訛紝濡傛灉f[i][v]==f[i-v]鍙奻[i][v]==f[i-1][f-c[i]]+w[i]鍚屾椂鎴愮珛錛屽簲璇ユ寜鐓у悗鑰咃紙鍗抽夋嫨浜嗙墿鍝乮錛夋潵杈撳嚭鏂規銆?/div>
姹傛柟妗堟繪暟
瀵逛簬涓涓粰瀹氫簡鑳屽寘瀹歸噺銆佺墿鍝佽垂鐢ㄣ佺墿鍝侀棿鐩鎬簰鍏崇郴錛堝垎緇勩佷緷璧栫瓑錛夌殑鑳屽寘闂錛岄櫎浜嗗啀緇欏畾姣忎釜鐗╁搧鐨勪環鍊煎悗姹傚彲寰楀埌鐨勬渶澶т環鍊煎錛岃繕鍙互寰楀埌瑁呮弧鑳屽寘鎴栧皢鑳屽寘瑁呰嚦鏌愪竴鎸囧畾瀹歸噺鐨勬柟妗堟繪暟銆?/div>
瀵逛簬榪欑被鏀瑰彉闂硶鐨勯棶棰橈紝涓鑸彧闇灝嗙姸鎬佽漿縐繪柟紼嬩腑鐨刴ax鏀規垚sum鍗沖彲銆備緥濡傝嫢姣忎歡鐗╁搧鍧囨槸瀹屽叏鑳屽寘涓殑鐗╁搧錛岃漿縐繪柟紼嬪嵆涓?/div>
f[i][v]=sum{f[i-1][v],f[i][v-c[i]]}
鍒濆鏉′歡f[0][0]=1銆?/div>
浜嬪疄涓婏紝榪欐牱鍋氬彲琛岀殑鍘熷洜鍦ㄤ簬鐘舵佽漿縐繪柟紼嬪凡緇忚冨療浜嗘墍鏈夊彲鑳界殑鑳屽寘緇勬垚鏂規銆?/div>
鏈浼樻柟妗堢殑鎬繪暟
榪欓噷鐨勬渶浼樻柟妗堟槸鎸囩墿鍝佹諱環鍊兼渶澶х殑鏂規銆備互01鑳屽寘涓轟緥銆?/div>
緇撳悎姹傛渶澶ф諱環鍊煎拰鏂規鎬繪暟涓や釜闂鐨勬濊礬錛屾渶浼樻柟妗堢殑鎬繪暟鍙互榪欐牱姹傦細f[i][v]鎰忎箟鍚屽墠榪幫紝g[i][v]琛ㄧず榪欎釜瀛愰棶棰樼殑鏈浼樻柟妗堢殑鎬繪暟錛屽垯鍦ㄦ眰f[i][v]鐨勫悓鏃舵眰g[i][v]鐨勪吉浠g爜濡備笅錛?/div>
for i=1..N
   for v=0..V
        f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
        g[i][v]=0
        if(f[i][v]==f[i-1][v])
            inc(g[i][v],g[i-1][v]
        if(f[i][v]==f[i-1][v-c[i]]+w[i])
            inc(g[i][v],g[i-1][v-c[i]])
濡傛灉浣犳槸絎竴嬈$湅鍒拌繖鏍風殑闂錛岃浠旂粏浣撲細涓婇潰鐨勪吉浠g爜銆?/div>
姹傛浼樿В銆佺K浼樿В
瀵逛簬姹傛浼樿В銆佺K浼樿В綾葷殑闂錛屽鏋滅浉搴旂殑鏈浼樿В闂鑳藉啓鍑虹姸鎬佽漿縐繪柟紼嬨佺敤鍔ㄦ佽鍒掕В鍐籌紝閭d箞姹傛浼樿В寰寰鍙互鐩稿悓鐨勫鏉傚害瑙e喅錛岀K浼樿В鍒欐瘮姹傛渶浼樿В鐨勫鏉傚害涓婂涓涓郴鏁癒銆?/div>
鍏跺熀鏈濇兂鏄皢姣忎釜鐘舵侀兘琛ㄧず鎴愭湁搴忛槦鍒楋紝灝嗙姸鎬佽漿縐繪柟紼嬩腑鐨刴ax/min杞寲鎴愭湁搴忛槦鍒楃殑鍚堝茍銆傝繖閲屼粛鐒朵互01鑳屽寘涓轟緥璁茶В涓涓嬨?/div>
棣栧厛鐪?1鑳屽寘姹傛渶浼樿В鐨勭姸鎬佽漿縐繪柟紼嬶細f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}銆傚鏋滆姹傜K浼樿В錛岄偅涔堢姸鎬乫[i][v]灝卞簲璇ユ槸涓涓ぇ灝忎負K鐨勬暟緇刦[i][v][1..K]銆傚叾涓璮[i][v][k]琛ㄧず鍓峣涓墿鍝併佽儗鍖呭ぇ灝忎負v鏃訛紝絎琸浼樿В鐨勫箋?#8220;f[i][v]鏄竴涓ぇ灝忎負K鐨勬暟緇?#8221;榪欎竴鍙ワ紝鐔熸倝C璇█鐨勫悓瀛﹀彲鑳芥瘮杈冨ソ鐞嗚В錛屾垨鑰呬篃鍙互綆鍗曞湴鐞嗚В涓哄湪鍘熸潵鐨勬柟紼嬩腑鍔犱簡涓緇淬傛樉鐒秄[i][v][1..K]榪橩涓暟鏄敱澶у埌灝忔帓鍒楃殑錛屾墍浠ユ垜浠妸瀹冭涓烘槸涓涓湁搴忛槦鍒椼?/div>
鐒跺悗鍘熸柟紼嬪氨鍙互瑙i噴涓猴細f[i][v]榪欎釜鏈夊簭闃熷垪鏄敱f[i-1][v]鍜宖[i-1][v-c[i]]+w[i]榪欎袱涓湁搴忛槦鍒楀悎騫跺緱鍒扮殑銆傛湁搴忛槦鍒梖[i-1][v]鍗砯[i-1][v][1..K]錛宖[i-1][v-c[i]]+w[i]鍒欑悊瑙d負鍦╢[i-1][v-c[i]][1..K]鐨勬瘡涓暟涓婂姞涓妛[i]鍚庡緱鍒扮殑鏈夊簭闃熷垪銆傚悎騫惰繖涓や釜鏈夊簭闃熷垪騫跺皢緇撴灉錛堢殑鍓岾欏癸級鍌ㄥ瓨鍒癴[i][v][1..K]涓殑澶嶆潅搴︽槸O(K)銆傛渶鍚庣殑絳旀鏄痜[N][V][K]銆傛葷殑澶嶆潅搴︽槸O(NVK)銆?/div>
涓轟粈涔堣繖涓柟娉曟紜憿錛熷疄闄呬笂錛屼竴涓紜殑鐘舵佽漿縐繪柟紼嬬殑姹傝В榪囩▼閬嶅巻浜嗘墍鏈夊彲鐢ㄧ殑絳栫暐錛屼篃灝辮鐩栦簡闂鐨勬墍鏈夋柟妗堛傚彧涓嶈繃鐢變簬鏄眰鏈浼樿В錛屾墍浠ュ叾瀹冨湪浠諱綍涓涓瓥鐣ヤ笂杈句笉鍒版渶浼樼殑鏂規閮借蹇界暐浜嗐傚鏋滄妸姣忎釜鐘舵佽〃紺烘垚涓涓ぇ灝忎負K鐨勬暟緇勶紝騫跺湪榪欎釜鏁扮粍涓湁搴忕殑淇濆瓨璇ョ姸鎬佸彲鍙栧埌鐨勫墠K涓渶浼樺箋傞偅涔堬紝瀵逛簬浠諱袱涓姸鎬佺殑max榪愮畻絳変環浜庝袱涓敱澶у埌灝忕殑鏈夊簭闃熷垪鐨勫悎騫躲?/div>
鍙﹀榪樿娉ㄦ剰棰樼洰瀵逛簬“絎琄浼樿В”鐨勫畾涔夛紝灝嗙瓥鐣ヤ笉鍚屼絾鏉冨肩浉鍚岀殑涓や釜鏂規鏄湅浣滃悓涓涓В榪樻槸涓嶅悓鐨勮В銆傚鏋滄槸鍓嶈咃紝鍒欑淮鎶ゆ湁搴忛槦鍒楁椂瑕佷繚璇侀槦鍒楅噷鐨勬暟娌℃湁閲嶅鐨勩?/div>
灝忕粨
鏄劇劧錛岃繖閲屼笉鍙兘絀峰敖鑳屽寘綾誨姩鎬佽鍒掗棶棰樻墍鏈夌殑闂硶銆傜敋鑷寵繕瀛樺湪涓綾誨皢鑳屽寘綾誨姩鎬佽鍒掗棶棰樹笌鍏跺畠棰嗗煙錛堜緥濡傛暟璁恒佸浘璁猴級緇撳悎璧鋒潵鐨勯棶棰橈紝鍦ㄨ繖綃囪鑳屽寘闂鐨勪笓鏂囦腑涔熶笉浼氳鍙娿備絾鍙娣卞埢棰嗕細鍓嶈堪鎵鏈夌被鍒殑鑳屽寘闂鐨勬濊礬鍜岀姸鎬佽漿縐繪柟紼嬶紝閬囧埌鍏跺畠鐨勫彉褰㈤棶娉曪紝鍙棰樼洰闅懼害榪樺睘浜嶯OIP錛屽簲璇ヤ篃涓嶉毦鎯沖嚭綆楁硶銆傝Е綾繪梺閫氥佷婦涓鍙嶄笁錛屽簲璇ヤ篃鏄竴涓狾Ier搴旀湁鐨勫搧璐ㄥ惂銆?/div>
棣栭〉

闄勶細USACO涓殑鑳屽寘闂
USACO鏄疷SA Computing Olympiad鐨勭畝縐幫紝瀹冪粍緇囦簡寰堝闈㈠悜鍏ㄧ悆鐨勮綆楁満绔炶禌媧誨姩銆?/div>
USACO Trainng鏄竴涓緢閫傚悎鍒濆鑰呯殑棰樺簱錛屾垜璁や負瀹冪殑鐗硅壊鏄鐩川閲忛珮錛屽驚搴忔笎榪涳紝榪橀厤鏈変笉閿欑殑璇炬枃鍜岄鐩垎鏋愩傚叾涓叧浜庤儗鍖呴棶棰樼殑閭g瘒璇炬枃 (TEXT Knapsack Problems) 涔熷煎緱涓鐪嬨?/div>
鍙﹀錛孶SACO Contest鏄疷SACO甯稿勾緇勭粐鐨勯潰鍚戝叏鐞冪殑绔炶禌緋誨垪錛屽湪姝や篃鎺ㄨ崘NOIP閫夋墜鍙傚姞銆?/div>
鎴戞暣鐞嗕簡USACO Training涓秹鍙婅儗鍖呴棶棰樼殑棰樼洰錛屽簲璇ュ彲浠ヤ綔涓轟笉閿欑殑涔犻銆傚叾涓爣鍔犲彿鐨勬槸鎴戞瘮杈冩帹鑽愮殑錛屾爣鍙瑰彿鐨勬槸鎴戣涓哄NOIP閫夋墜姣旇緝鏈夋寫鎴樻х殑銆?/div>
棰樼洰鍒楄〃
·         Inflate (+) 錛堝熀鏈?1鑳屽寘錛?/div>
·         Stamps (+)(!) 錛堝鍒濆鑰呮湁涓瀹氭寫鎴樻э級
·         Money
·         Nuggets
·         Subsets
·         Rockers (+) 錛堝彟涓綾繪湁瓚g殑“浜岀淮”鑳屽寘闂錛?/div>
·         Milk4 (!) 錛堝緢鎬殑鑳屽寘闂闂硶錛岃緝闅劇敤綰疍P姹傝В錛?/div>
棰樼洰綆瑙?/div>
浠ヤ笅鏂囧瓧鏉ヨ嚜鎴戞墍鎾扮殑銆奤SACO蹇冨緱銆嬩竴鏂囷紝璇ユ枃鐨勫畬鏁寸増鏈紝鍖呮嫭鎴戠殑紼嬪簭錛屽彲鍦―D鐨刄SACO寰佺▼涓壘鍒般?/div>
Inflate 鏄姞鏉?1 鑳屽寘闂錛屼篃灝辨槸璇達細姣忕鐗╁搧鍙湁涓浠訛紝鍙彲浠ラ夋嫨鏀炬垨鑰呬笉鏀撅紱鑰屼笖姣忕鐗╁搧鏈夊搴旂殑鏉冨鹼紝鐩爣鏄嬌鎬繪潈鍊兼渶澶ф垨鏈灝忋傚畠鏈鏈寸礌鐨勭姸鎬佽漿縐繪柟紼嬫槸錛歠[k][i] = max{f[k-1][i] , f[k-1][i-v[k]]+w[k]}銆俧[k][i]琛ㄧず鍓峩 浠剁墿鍝佽姳璐逛唬浠穒 鍙互寰楀埌鐨勬渶澶ф潈鍊箋倂[k]鍜寃[k]鍒嗗埆鏄k 浠剁墿鍝佺殑鑺辮垂鍜屾潈鍊箋傚彲浠ョ湅鍒幫紝 f[k]鐨勬眰瑙h繃紼嬪氨鏄嬌鐢ㄧk 浠剁墿鍝佸f[k-1]榪涜鏇存柊鐨勮繃紼嬨傞偅涔堜簨瀹炰笂灝變笉鐢ㄤ嬌鐢ㄤ簩緇存暟緇勶紝鍙渶瑕佸畾涔塮[i]錛岀劧鍚庡浜庢瘡浠剁墿鍝乲錛岄『搴忓湴媯鏌[i]涓巉[i-v[k]]+w[k]鐨勫ぇ灝忥紝濡傛灉鍚庤呮洿澶э紝灝卞鍓嶈呰繘琛屾洿鏂般傝繖鏄儗鍖呴棶棰樹腑鍏稿瀷鐨勪紭鍖栨柟娉曘?/div>
棰樼洰stamps 涓紝姣忕鐗╁搧鐨勪嬌鐢ㄩ噺娌℃湁鐩存帴闄愬埗錛屼絾浣跨敤鐗╁搧鐨勬婚噺鏈夐檺鍒躲傛眰絎竴涓笉鑳界敤榪欐湁闄愪釜鐗╁搧緇勬垚鐨勮儗鍖呯殑澶у皬銆傦紙鍙互榪欐牱絳変環鍦拌涓猴級璁緁[k][i] 琛ㄧず鍓峩 浠剁墿鍝佺粍鎴愬ぇ灝忎負i 鐨勮儗鍖咃紝 鏈灝戦渶瑕佺墿鍝佺殑鏁伴噺銆傚垯f[k][i]= min{f[k-1][i],f[k-1][i-j*s[k]]+j}錛屽叾涓璲 鏄夋嫨浣跨敤絎琸 浠剁墿鍝佺殑鏁扮洰錛岃繖涓柟紼嬭繍鐢ㄦ椂鍙互鐢ㄥ拰涓婇潰涓鏍風殑鏂規硶澶勭悊鎴愪竴緇寸殑銆傛眰瑙f椂鍏堣緗竴涓矖緋欑殑寰幆涓婇檺錛屽嵆鏈澶х殑鐗╁搧涔樻渶澶氱墿鍝佹暟銆?/div>
Money 鏄閲嶈儗鍖呴棶棰樸備篃灝辨槸姣忎釜鐗╁搧鍙互浣跨敤鏃犻檺澶氭銆傝姹傝В鐨勬槸鏋勬垚涓縐嶈儗鍖呯殑涓嶅悓鏂規鎬繪暟銆傚熀鏈笂灝辨槸鎶婁竴鑸殑澶氶噸鑳屽寘鐨勬柟紼嬩腑鐨刴in 鏀規垚sum 灝辮浜嗐?/div>
Nuggets 鐨勬ā鍨嬩篃鏄閲嶈儗鍖呫傝姹傛眰瑙f墍緇欑殑鐗╁搧涓嶈兘鎭板ソ鏀懼叆鐨勮儗鍖呭ぇ灝忕殑鏈澶у鹼紙鍙兘涓嶅瓨鍦級銆傚彧闇瑕佹牴鎹?#8220;鑻銆乯 浜掕川錛屽垯鍏充簬x銆亂 鐨勪笉瀹氭柟紼媔*x+y*j=n 蹇呮湁姝f暣鏁拌В錛屽叾涓璶>i*j”榪欎竴瀹氱悊寰楀嚭涓涓驚鐜殑涓婇檺銆?Subsets 瀛愰泦鍜岄棶棰樼浉褰撲簬鐗╁搧澶у皬鏄墠N 涓嚜鐒舵暟鏃舵眰澶у皬涓篘*(N+1)/4 鐨?01 鑳屽寘鐨勬柟妗堟暟銆?/div>
Rockers 鍙互鍒╃敤姹傝В鑳屽寘闂鐨勬濇兂璁捐瑙f硶銆傛垜鐨勭姸鎬佽漿縐繪柟紼嬪涓嬶細 f[i][j][t]=max{f[i][j][t-1] , f[i-1][j][t] , f[i-1][j][t-time[i]]+1 , f[i-1][j-1][T]+(t>=time[i])}銆傚叾涓?f[i][j][t]琛ㄧず鍓峣 棣栨瓕鐢╦ 寮犲畬鏁寸殑鐩樺拰涓寮犲綍浜唗 鍒嗛挓鐨勭洏鍙互鏀懼叆鐨勬渶澶氭瓕鏁幫紝T 鏄竴寮犲厜鐩樼殑鏈澶у閲忥紝t>=time[i]鏄竴涓猙ool 鍊艱漿鎹㈡垚int 鍙栧間負0 鎴?銆備絾鎴戝悗鏉ュ彂鐜版垜褰撴椂璁捐鐨勭姸鎬佸拰鏂圭▼鏁堢巼鏈夌偣浣庯紝濡傛灉鎹㈡垚榪欐牱錛歠[i][j]=(a,b)琛ㄧず鍓峣 棣栨瓕涓変簡j 棣栭渶瑕佺敤鍒癮 寮犲畬鏁寸殑鍏夌洏浠ュ強涓寮犲綍浜哹 鍒嗛挓鐨勫厜鐩橈紝浼氬皢鏃剁┖澶嶆潅搴﹂兘澶уぇ闄嶄綆銆傝繖縐嶅皢鐘舵佺殑鍊艱涓轟簩緇寸殑鏂規硶鍊煎緱娉ㄦ剰銆?/div>
Milk4 鏄繖浜涚被鑳屽寘闂涓毦搴︽渶澶х殑涓閬撲簡銆傚緢澶氫漢鏃犳硶鍋氬埌灝嗗畠鐢ㄧ函DP 鏂規硶姹傝В錛岃屾槸鐢ㄨ凱浠e姞娣辨悳绱㈡灇涓句嬌鐢ㄧ殑妗訛紝灝嗗叾杞崲鎴愬閲嶈儗鍖呴棶棰樺啀DP銆傜敱浜?USACO 鐨勬暟鎹急錛岃凱浠e姞娣辯殑娣卞害寰堝皬錛岃繖鏍蜂篃鍙互AC錛屼絾鎴戜滑榪樻槸鍙互鐢ㄧ函DP 鏂規硶灝嗗畠瀹岀編瑙e喅鐨勩傝f[k]涓虹О閲忓嚭k 鍗曚綅鐗涘ザ闇瑕佺殑鏈灝戠殑妗舵暟銆傞偅涔堝彲浠ョ敤綾諱技澶氶噸鑳屽寘鐨勬柟娉曞f 鏁扮粍鍙嶅鏇存柊浠ユ眰寰楁渶灝忓箋傜劧鑰屽洶闅懼湪浜庡浣曡緭鍑哄瓧鍏稿簭鏈灝忕殑鏂規銆傛垜浠彲浠ュ姣忎釜i 璁板綍pre_f[i]鍜宲re_v[i]銆傝〃紺哄緱鍒癷 鍗曚綅鐗涘ザ鐨勮繃紼嬫槸鐢╬re_f[i]鍗曚綅鐗涘ザ鍔犱笂鑻ュ共涓紪鍙蜂負pre_v[i]鐨勬《鐨勭墰濂躲傝繖鏍峰氨鍙互涓姝ユ姹傚緱寰楀埌i 鍗曚綅鐗涘ザ鐨勫畬鏁存柟妗堛備負浜嗕嬌鏂規鐨勫瓧鍏稿簭鏈灝忥紝鎴戜滑鍦ㄦ瘡嬈℃壘鍒頒竴涓楄垂妗舵暟鐩稿悓鐨勬柟妗堟椂瀵瑰凡鍌ㄥ瓨鐨勬柟妗堝拰鏂版柟妗堣繘琛屾瘮杈冨啀鍐沖畾鏄惁鏇存柊鏂規銆備負浜嗕嬌榪欑姣旇緝蹇嵎錛屽湪浣跨敤鍚勭澶у皬鐨勬《瀵筬 鏁扮粍榪涜鏇存柊鏃跺厛澶у悗灝忓湴榪涜銆俇SACO 鐨勫畼鏂歸瑙f鏄繖涓鎬濊礬銆傚鏋滆涓轟互涓婃枃瀛楁瘮杈冮毦鐞嗚В鍙互闃呰瀹樻柟紼嬪簭鎴栨垜鐨勭▼搴忋?/div>
棣栭〉
Copyright (c) 2007 Tianyi Cui
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
鏁寸悊 by stntwm



Vontroy 2010-05-23 22:41 鍙戣〃璇勮
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              麻豆精品传媒视频| 欧美一级午夜免费电影| 一级日韩一区在线观看| 亚洲国产精品成人va在线观看| 国产精品一级| 国产午夜精品视频| 在线观看欧美视频| 日韩一本二本av| 亚洲影视中文字幕| 久久久国产精品一区二区三区| 性久久久久久久久| 卡一卡二国产精品| 亚洲国产天堂久久国产91| 亚洲电影自拍| 日韩亚洲一区二区| 国产精品99久久久久久有的能看| 在线成人小视频| 欧美日韩国产小视频| 久久成人免费日本黄色| 午夜在线播放视频欧美| 亚洲精品日本| 久久精品人人做人人爽| 在线免费精品视频| 黄色一区二区在线| 亚洲欧美另类中文字幕| 欧美日韩色一区| 国产亚洲精品高潮| 国语自产精品视频在线看一大j8 | 久久九九精品| 欧美第一黄网免费网站| 亚洲综合成人婷婷小说| 久久精品综合网| 欧美吻胸吃奶大尺度电影| 狠狠色丁香婷婷综合| 亚洲少妇自拍| 六月婷婷一区| 亚洲欧美日韩视频一区| 欧美精品一区在线| 在线观看一区| 久久精品二区三区| av不卡在线观看| 欧美高清在线观看| 亚洲高清一区二| 久久免费视频一区| 亚洲欧美一区二区精品久久久| 欧美啪啪一区| 亚洲欧洲一区二区在线观看| 久久久久久久欧美精品| 亚洲一二区在线| 欧美午夜精品理论片a级按摩| 亚洲黄网站在线观看| 蜜臀久久久99精品久久久久久| 亚洲欧美成人一区二区三区| 欧美亚州一区二区三区| 中文久久精品| 亚洲最新视频在线| 欧美视频在线看| 亚洲天堂成人| 最新国产乱人伦偷精品免费网站| 国产欧亚日韩视频| 欧美一区二区精品久久911| 99re6热在线精品视频播放速度| 欧美成人视屏| 亚洲理论在线观看| 欧美激情精品久久久久久免费印度 | 国产精品久久久一本精品| 日韩视频永久免费观看| 亚洲第一毛片| 另类天堂av| 亚洲精品国产系列| 亚洲精品婷婷| 欧美日韩亚洲在线| 亚洲一区二区三区精品在线观看 | 樱桃成人精品视频在线播放| 久久一区二区三区国产精品| 久久精品一区蜜桃臀影院 | 麻豆91精品91久久久的内涵| 亚洲国产精品免费| 亚洲精品在线观看免费| 欧美日韩一区二区三区四区在线观看| 一区二区国产日产| 亚洲一区二区三区精品动漫| 国产日产精品一区二区三区四区的观看方式 | 亚洲一区综合| 韩国一区二区三区美女美女秀| 久久免费黄色| 欧美日本三区| 久久激情视频久久| 欧美福利小视频| 亚洲欧美日韩国产中文| 久久久国产一区二区| 亚洲另类黄色| 亚洲综合久久久久| 91久久久一线二线三线品牌| 亚洲一区二区动漫| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美午夜精品一区二区三区| 亚洲欧美在线播放| 久久久精品国产一区二区三区| 久久久女女女女999久久| 欧美日韩国产二区| 久久久精品国产免大香伊| 欧美高清视频在线| 性欧美xxxx大乳国产app| 另类天堂av| 久久精品国产69国产精品亚洲| 欧美韩日一区二区三区| 久久精品国产v日韩v亚洲| 欧美黄免费看| 欧美mv日韩mv亚洲| 国产性做久久久久久| 在线视频精品一区| 亚洲美女中文字幕| 久久免费一区| 久久精品国产亚洲一区二区三区| 欧美日韩免费精品| 亚洲国产乱码最新视频| 狠狠综合久久| 久久国产精品黑丝| 久久精品国产免费| 国产精品日韩欧美一区二区| 亚洲欧洲日产国产网站| 在线欧美小视频| 久久国产66| 久久久久久穴| 国产精品永久在线| 夜夜夜精品看看| 艳妇臀荡乳欲伦亚洲一区| 噜噜噜噜噜久久久久久91| 久久久久中文| 一区二区三区在线高清| 久久激情网站| 理论片一区二区在线| 国内精品久久久久伊人av| 亚洲一区视频| 欧美一级淫片播放口| 国产精品久久久久久超碰 | 91久久精品国产91性色 | 国产日韩欧美另类| 亚洲视频每日更新| 亚洲在线视频一区| 国产精品福利在线观看网址| 中日韩在线视频| 亚洲欧美国产高清| 国产欧美另类| 久久久久国色av免费观看性色| 国产精品视频午夜| 国产欧美日韩在线视频| 久久亚洲捆绑美女| 久久夜色精品| 在线精品国精品国产尤物884a| 久久躁日日躁aaaaxxxx| 亚洲国产精品t66y| 亚洲伊人网站| 欧美日韩国产天堂| 国内精品免费午夜毛片| 亚洲一区综合| 久久综合婷婷| 久久久之久亚州精品露出| 亚洲激精日韩激精欧美精品| 国产亚洲欧美一区二区三区| 亚洲国产高清一区| 小黄鸭精品aⅴ导航网站入口| 欧美激情精品久久久久久变态| 欧美日韩精品一区视频| 在线欧美三区| 亚洲大胆在线| 欧美在线视频免费播放| 久久婷婷麻豆| 欧美大色视频| 99国产精品久久| 国产欧美日韩中文字幕在线| 久久婷婷麻豆| av成人免费在线观看| 99精品国产福利在线观看免费| 女人香蕉久久**毛片精品| 亚洲精品视频免费在线观看| 久久精品30| 亚洲精品久久久久久久久久久久久| 亚洲小视频在线观看| 国产亚洲欧美一区二区| 欧美精品一区二区久久婷婷| 亚洲一区二区在线免费观看| 欧美成人免费观看| 午夜精品免费在线| 亚洲日本中文字幕| 国产主播精品在线| 国产精品成人午夜| 欧美成人午夜激情在线| 99re亚洲国产精品| 毛片一区二区三区| 裸体歌舞表演一区二区| 可以免费看不卡的av网站| 亚洲一二三区在线| 国产一区二区三区黄| 欧美日韩国产综合网| 久久久久久久999精品视频| 亚洲社区在线观看| 亚洲精品欧美日韩专区| 欧美 日韩 国产在线|