锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩精品欧美日韩精品一 ,你懂的视频欧美,欧美大片一区http://m.shnenglu.com/Climber-pI/archive/2011/08/05/152580.htmlClimber.pIClimber.pIFri, 05 Aug 2011 12:51:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2011/08/05/152580.htmlhttp://m.shnenglu.com/Climber-pI/comments/152580.htmlhttp://m.shnenglu.com/Climber-pI/archive/2011/08/05/152580.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/152580.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/152580.html7.26

鏈闀垮叕鍏卞瓙搴忓垪lcs, O(N^2)
f[i][j] = max{f[i-1][j], f[i][j-1], f[i-1][j-1]+1(if A_i==B_j)}
鍒濆鍖杅[_][0] = f[0][_] = 0

7.27

緙栬緫璺濈edit, O(N^2)
f[i][j] = min(f[i][j-1] + 1, f[i-1][j] + 1, f[i-1][j-1] + !(A_i==A_j))
鍒濆鍖杅[i][0] = f[0][i] = i
*鍙傝僛榪欓噷]http://en.wikipedia.org/wiki/Levenshtein_distance
*鐘舵佽漿縐昏繃紼嬩腑, 鍏呭垎涓嶄竴瀹氭渶浼? 蹇呰鎵嶆槸鏈浼? 浜嬪疄涓婅竟鐣屾潯浠舵繪湁鍏跺叿浣撴剰涔?br />*[鐩稿叧]http://www.matrix67.com/blog/archives/333

鏈鐭洖鏂囦覆palindrome[poj 1159], O(N^2)
1.濂楃敤lcs, O(N^2), 60
f[i][j] = max{f[i-1][j], f[i][j-1], f[i-1][j-1]+1(if A_i==B_j)}
鍒濆鍖杅[_][0] = f[0][_] = 0, n - f[n][n]鍗充負(fù)絳旀
*鍒╃敤婊氬姩鏁扮粍浼樺寲, 絀洪棿澶嶆潅搴(N), 80
*鍏抽敭璇彞k = 1 - k, 娉ㄦ剰鍦ㄥ唴灞傚驚鐜
2.濂楃敤edit, O(N^2), 30
f[i][j] = min(f[i][j-1] + 1, f[i-1][j] + 1, f[i-1][j-1] + 2*!(A_i==A_j))銆?br />鍒濆鍖杅[i][0] = f[0][i] = i, f[n][n]/2鍗充負(fù)絳旀
3.O(N^2), 30
f[i,j]琛ㄧず灝咥i..Aj鍙樹負(fù)鍥炴枃涓茬殑鏈灝忎唬浠鳳紝鍒?br />f[i][j] = f[i+1][j-1] (鑻i=Aj)
    min(f[i+1][j],f[i][j-1])+1 錛堣嫢Ai<>Aj錛?br />4.鍒╃敤浣嶈繍綆椾紭鍖?br />http://www.csse.monash.edu.au/~lloyd/tildeStrings/Alignment/86.IPL.html

紜竵鎵鵑浂coin[瀹屽叏鑳屽寘], O(N^2)
f[j] = min(f[j], f[j-c[i]]+1)
鍒濆鍖杅[0] = 0, f[1..T] = INT_MAX
*娉ㄦ剰涓嬫爣闈為浂 鍜?INT_MAX鐨勬孩鍑?/p>

7.28

瀵煎脊鎷︽埅missile[LIS + 浜屽垎], O(NlogN)
(1)浜屽垎鏌ユ壘O(logn)
f[i] = max(f[j] + 1) (j < i)
d[i] = min(f[k]) (f[k] == i)
鏄撶煡d[i]鍗曡皟, 鍥犺屽彲浠ュ埄鐢ㄤ簩鍒嗘煡鎵鵑檷浣庡鏉傚害, i鏈澶у煎嵆LIS闀垮害涓簍, 閭d箞
i)  f[i-1] < k <= f[i] (1 <= i <= t)
ii) 鑻 > 浠繪剰f[], 鍒檉[t+1] = k;
iii) 鑻?k, 鍒檉[1] = k;
*渚嬪瓙鍙傝[榪欓噷]http://www.matrix67.com/blog/archives/112
[浠g爜瀹炵幇]
//鎯呭喌ii鍜宨ii闇瑕佸崟鐙鐞?br />x = 1; y = t;
while (x <= y){
 m = (x + y)/2;
 if (f[m-1] < k && k <= f[m]) break;//瀵逛簬鏈闀夸笂鍗囧瓙搴忓垪鍜屾渶闀夸笉涓嬮檷瀛愬簭鍒楀垽瀹氭潯浠朵笉鏄???
 //if (f[m-1] < k && k <= f[m]) return m;
 else if (k > f[m]) x = m + 1錛?br /> else y = m - 1;
 //return x;
}
*鍒╃敤娉ㄩ噴, 鍙互閬垮厤瀵規(guī)儏鍐礽i鐨勫崟鐙鐞哃IS鐨勬柟妗? 璁板綍鏂規(guī)闇瑕佷嬌鐢╬re鏁扮粍, 鑼冧緥涓嶇煡???
*闇瑕佹敞鎰忕殑鏄? f鏁扮粍緇欏嚭鐨勫茍闈炴槸涓涓?br />(2)鏈灝戦摼鍒掑垎 = 鏈闀垮弽閾鵑暱搴?鍏充簬鍋忓簭闆? 鍙傝銆婄粍鍚堟暟瀛︺婸73)
[Dilworth瀹氱悊]浠わ紙X,≤錛夋槸涓涓湁闄愬亸搴忛泦錛屽茍浠鏄弽閾劇殑鏈澶х殑澶у皬銆傚垯X鍙互琚垝鍒嗘垚m涓絾涓嶈兘鍐嶅皯鐨勯摼銆?/p>

鏈闀夸笉涓嬮檷瀛愬簭鍒條is[LIS + 浜屽垎], O(NlogN)
瀵筟1..k-1][k+1..n]涓や釜搴忓垪鍒嗗埆榪涜涓嬈IS鍗沖彲.
*闂鐨勫叧閿箣澶勫湪浜庣涓嬈$悊瑙d笉褰誨簳鍜屾誕韜? 浠ュ強(qiáng)瀵逛簬鍥伴毦紼嬪害鐨勪笉鍚堢悊浼拌.

7.29

鍔犲垎浜屽弶鏍?wèi)tree[鍖洪棿 + 璁板綍鏂規(guī)], O(N^3), 20min
f[i][j] = max(f[i][k-1] * f[k+1][j] + A[k]) (i <= k <= j)
鍒濆鍖杅[i][i] = A[i], f[i+1][i] = 1
[璁板綍鏂規(guī)]pa[i][j] = k, 閫掑綊鍗沖彲, [杈圭晫]pa[i][j] == i 鎴栬?j, 浠ュ強(qiáng)i == j鐨勬儏鍐?/p>

鏁存暟鍒掑垎separate[鍖洪棿 + 璁板綍鏂規(guī)], O(N^3), 2h
f[k][i]琛ㄧず搴忓垪1..i鍒嗘垚k孌電殑鏈澶у?br />f[k][i] = max(f[k-1][j-1] * A[j][i])
pa[k][i] = j
鍒濆鍖杅[1][_] = A[1][_], 鍏朵粬f[][] = -1
*娉ㄦ剰絳夊彿鎯呭喌鍚屾牱闇瑕佹洿鏂?br />if (f[K][i] <= f[K-1][k-1] * A[k][i])
 f[K][i] = f[K-1][k-1] * A[k][i],
 pa[K][i] = k; //璁板綍鏂規(guī)
*灝哰pa[k][i], i]鍔犲叆絳旀, 閫掑綊[1, pa[k][i]-1], [杈圭晫] k == 0
*鍦╓in涓嬩嬌鐢╨ong long鍗犱綅絎︿負(fù)"%I64d", 鍦↙inux涓嬪崰浣嶇涓?%lld", 鑰冭瘯涓埄鐢?lt;fstream>閬垮紑鍗犱綅絎﹂棶棰?/p>

鍑稿杈瑰艦鐨勪笁瑙掑墫鍒哾ivision[鍖洪棿]
f[i][j] = max{f[i][k] + f[k][j] + w(i, j, k)} (i < k < j)
鍒濆鍖?<=i-j<=2鐨刦鍙負(fù)0, 鍏朵粬涓?1
*琛ㄨ揪寮忎腑鍚屾椂鍑虹幇l(fā)ong long鍜宨nt鐨勮瘽, 浼?xì)鑷姩铦{鎹負(fù)int
*鍙繃浜?涓偣, 鍘熷洜涓嶇煡 -> 鏁版嵁閿欒, 鏈鍚?涓偣output涓鏍?br />*鍚勭紲炵墰浠櫘閬嶆寚鍑烘病鏈夎冭檻i>j鐨勬儏鍐?-> 鎬庝箞鍐???

鏈哄櫒鍒嗛厤machine[鍖洪棿], O(N^3)
f[i][j] = max(f[i-1][k] + A[i][j-k]) (0 <= k <= j)
鍒濆鍖杅[][] = 0, f[i][j] = max(f[i][j], A[i][j])
*娉ㄦ剰璇婚"絎琲涓叕鍙稿垎閰峧鍙版満鍣ㄧ殑鐩堝埄", 涓嶆槸鍒嗛厤絎琷鍙版満鍣ㄧ殑鐩堝埄

瑁呯闂box[鍒嗙粍鑳屽寘], O(N^2), 30min
f[i][j] = max{f[i-1][j], f[i-1][j-c[i][k]] + w[i][k]}
鍒濆鍖杅[][] = 0
*璇婚鏃舵敞鎰忓彉閲忕殑瀵瑰簲鍏崇郴
*娉ㄦ剰鏈涓儗鍖呬笉涓瀹氳瑁呮弧

7.31

鏈闀垮墠緙prefix[鍒ゆ柇鎬p], O(kN), 70min
f[i] |= f[i - len[j]] & check(i - len[j] + 1, j) (1 <= i,j <= n)
鍒濆鍖杅[] = 0, check(x,y)琛ㄧず涓諱覆[x,x+len[y]-1]鍜屽墠緙y鏄惁鐩稿悓
*寮勯敊j鍜宭en[j], 娉ㄦ剰鏂圭▼鐨勫瓧姣嶆寚浠? 浠ュ強(qiáng)瀹炵幇涓殑瀛楃鎸囬拡浣嶇疆, 娉ㄦ剰闈欐佹煡閿橻30min]
*[8.4浼樺寲]鎶奵heck鍑芥暟鐩存帴鍐欏湪寰幆涓? 濡傛灉f[i] == 1鐩存帴break -> 渚濇棫瓚呮椂涓変釜鐐?br />*[8.5浼樺寲]i鐨勪笂闄愪負(fù)min(n, ans + 20), 鏇存柊f[i]鐨勬椂鍊欒褰昦ns鍗沖彲 -> AC
8.1

鍏抽敭瀛愬伐紼媝roject[DAG鏈闀胯礬], 70min
f[i] = max(f[j] + w[i]) (G[j][i] == 1)
鍒濆鍖杅[i] = w[i]
璁板綍鏂規(guī), 鍒╃敤f[i] == w[i] + f[j] (G[j][i] == 1)
*鍒╃敤瀹氫箟姹傛嫇鎵戞帓搴? 杈撳嚭鏂規(guī)鍙互鍒╃敤闃熷垪灝嗛掑綊杞寲涓鴻凱浠? 鏃犺В鎯呭喌鐢╢lag鏍囪(inq鏁扮粍琛ㄧず鏄惁鍦ㄩ槦鍒椾腑)
*鍦ㄧ焊涓婂啓鍑哄叧閿儴鍒嗙殑浠g爜, 涓ゅ嶈璺?姣斿閫掓帹鎴栬呰蹇嗗寲鍑芥暟, 杈撳嚭鏂規(guī)鐨勫嚱鏁?

8.2

涓夎铔嬬硶trigon[鍧愭爣dp], 130min
[鍋氭硶1](闇淇濈暀絀烘牸)
f_[i][j]琛ㄧず浠?i, j)涓洪《鐐圭殑Rt△鐨勬渶澶ц竟闀?br />瀵逛簬鍊掍笁瑙掑艦, 鑷彸鍚戝乏 f1[i][j] = min(f1[i+1][j], f1[i][j+1]) + 1
    鑷乏鍚戝彸 f2[i][j] = min(f2[i+1][j], f2[i][j-1]) + 1
瀵逛簬姝d笁瑙掑艦, 鑷彸鍚戝乏 f1[i][j] = min(f1[i-1][j], f1[i][j+1]) + 1
    鑷乏鍚戝彸 f2[i][j] = min(f2[i-1][j], f2[i][j-1]) + 1
鍒濆鍖? f[][] = 0(A[][] = '#'), f[][] = 1(A[][] = '-'); min(f1[i][j], f2[i][j])^2鐨勬渶澶у煎嵆涓虹瓟妗?br />[鍋氭硶2](涓嶉渶淇濈暀絀烘牸)
f[i][j]琛ㄧず浠?i, j)涓洪《鐐圭殑△鐨勬渶澶ч珮搴?br />瀵逛簬鍊掍笁瑙掑艦, f[i][j] = min(f[i-1][j], f[i-1][j+1], f[i-1][j+2]) + 1
瀵逛簬姝d笁瑙掑艦, f[i][j] = min(f[i+1][j], f[i+1][j-1], f[i+1][j-2]) + 1
鍒濆鍖? f[][] = 0(A[][] = '#'), f[][] = 1(A[][] = '-'); min(f[i][j])^2鍗充負(fù)絳旀
*杈撳叆闇淇濈暀絀烘牸, 鍗′簡30min(鎺掗櫎ASCII涓?0鎴?3鐨勫瓧絎﹀嵆鍙?
*娌℃湁鑰冭檻姝f柟鍚? 澶х害2h鏃跺鐓td鍙戠幇
*鏈変袱涓偣鏁版嵁閿欒, 瀵圭収std鍚庡彂鐜皊td浠呭綋妯潗鏍囦負(fù)濂囨暟鏄冭檻鍊掍笁瑙掑艦, 妯潗鏍囦負(fù)鍋舵暟鏃惰冭檻姝d笁瑙掑艦, 鑰岄鐩腑鏃犳闄愬埗
*瀛︿範(fàn)鍒╃敤鎵瑰鐞嗗鎷嶇殑鍐欐硶
@echo off
:again
gen
trigon
trigon_me
fc trigon.out trigon_me.out > nul
if not errorlevel 1 goto again

閫夎course[鏍?wèi)迮瀌p]
[鍋氭硶1]澶氬弶杞簩鍙?br />f[i][j]琛ㄧず浠涓烘牴鑺傜偣鐨勬爲(wèi)涓? 閫夋嫨j闂ㄨ
f[i][j] = max(f[i.r][j], f[i.l][k] + f[i.r][j-k-1] + i.v) (0<=k<j)
鍒濆鍖杅[][] = 0
*鏃犳硶璁板綍鏂規(guī) -> gXX琛ㄧず姣旇緝鍥伴毦
[鍋氭硶2]娉涘寲鐗╁搧
??? -> 鎯蟲挒澧?-> 闇瑕佸涔?/p>

閫氬悜鑷敱鐨勯挜鍖檏ey[鏍?wèi)迮瀌p], 150min, zoj 2280
f[i][j]琛ㄧず浠涓烘牴鑺傜偣鐨勬暟, 鑺辮垂鑳介噺涓簀鏃跺彲浠ユ嬁鍒扮殑鏈澶氱殑閽ュ寵鏁?br />f[i][j] = max(f[i.r][j], f[i.l][k] + f[i.r][j-k-i.c] + i.v) (o<=k<=j-i.c)
鍒濆鍖杅[][] = -1, 杈圭晫澶勭悊f[i][j] = 0(i<=0 || j<0)
*璁板綍鍚勭偣閭繪帴鐭╅樀, 鍒╃敤dfs鏋勯犳爲(wèi)(娉ㄦ剰澶勭悊鍚庡彇娑堥偦鎺?, 騫跺鍙夎漿浜屽弶 -> 30min
*瀵逛簬f[i.r][j]涓嶅繀鍦ㄨ蹇嗗寲鎼滅儲(chǔ)鍑芥暟涓亶鍘嗘墍鏈夊厔寮? 鍙亶鍘嗘渶榪戠殑鍗沖彲
*娉ㄦ剰璇婚, 鍑哄彂鐐逛負(fù)1, i.c鍜宨.v闈炶礋 -> 1.5min
*娉ㄦ剰闈欐佹煡閿? 濡傝蹇嗗寲鎼滅儲(chǔ)涓璬p(i, j)鎵撴垚f(i, j)鐨勬儏鍐?br />*瑙夊緱姣旇緝鏅曠殑鏃跺欑瓑涓涓嬪啀璋冮, 鍙互鍏堝共鐐瑰埆鐨? 榪欐牱鍙互鍑忓皯鏃墮棿鐨勬氮璐?/p>

璀﹀崼瀹夋帓security[鏍?wèi)迮瀌p], 100min
[鐘舵乚
f[i][0]琛ㄧず浠涓烘牴鑺傜偣, 騫跺湪i瀹夋帓璀﹀崼鐨勬渶灝忚姳璐?br />f[i][1]琛ㄧず浠涓烘牴鑺傜偣, i鐨勭埗鑺傜偣宸插畨鎺掕鍗殑鏈灝忚姳璐?br />f[i][2]琛ㄧず浠涓烘牴鑺傜偣, i鐨勫瓙鑺傜偣宸插畨鎺掕鍗殑鏈灝忚姳璐?br />[鏂圭▼]
f[i][0] = Σmin(f[i.son][0], f[i.son][1], f[i.son][2]) + i.v
f[i][1] = Σmin{f[i.som][0], f[i.son][2]} (i涓嶆槸鏍?wèi)鐨勬牴鑺傜?
f[i][2] = min{Σmin{f[i.son][0], f[i.son][2]}(i.son != k) + f[k = i.son][0]}
[鍒濆鍖朷
瀵逛簬鍙惰妭鐐? f[i][0] = i.v, f[i][1] = 0, f[i][2] = i.v
瀵逛簬鍏朵粬鍊? f[][] = -1
*瀵逛簬鏍硅妭鐐圭殑瀵繪壘, 鍒╃敤prev[i]璁板綍i鐨勫墠椹? 鑻?prev[i], 鍒檌涓烘爲(wèi)鏍?br />*緇撳悎鎵瑰鐞嗗拰makedata浠ュ強(qiáng)灝忚寖鍥存毚鍔涚▼搴? 鍙互鏈夋晥鍦伴伩鍏嶅悇縐嶉敊璇強(qiáng)鏋佺鎯呭喌 -> 闇瑕佸涔?fàn)鎼滅?br />*瀵逛簬榪欑被棰樼洰, 鎬濊冪殑鍏抽敭鍦ㄤ簬鍒嗙被鍐欏嚭鏂圭▼, 騫舵敞鎰忔柟紼嬬殑杈圭晫鏉′歡(綾諱技:tyvj 娌℃湁涓婂徃鐨勮垶浼?
*瀵逛簬鏍?wèi)迮瀌p, 瀛樺湪涓ょ綾誨瀷; 涓縐嶆槸瀵逛簬鍔犳潈璺緞闀垮害闄愬埗, 鍙︿竴縐嶅垯鏄眰鍔犳潈鏈鍊?/p>

8.4

闈掕洐鐨勭儲(chǔ)鎭糵rog[鍖洪棿dp]
鍒濈湅鏄渶灝忕敓鎴愭爲(wèi)闂, 浣嗘槸姝ら鏈夊嚑涓壒鍒殑鎬ц川:
1.浠?鍙瘋嵎鍙朵負(fù)璧風(fēng)偣, 緇堢偣涓嶅畾
2.閬嶅巻鑽峰彾鐨勬渶鐭礬寰勬槸涓鏉¢摼
3.棰樼洰緇欏嚭鐨勫潗鏍囬『搴忔槸涓涓『鏃墮拡鏂瑰悜鐨勫杈瑰艦
4.鏈鐭礬寰勪笉鐩鎬氦(鐢諱竴涓洓杈瑰艦, 鍒╃敤涓夎褰㈡ц川鍙互瑙傚療鍒?
鏍規(guī)嵁鎬ц川1鍜?, 瀹規(guī)槗寰楀嚭O(N^3)鐨勬柟紼? 寰堟槑鏄句細(xì)瓚呮椂
f[i][j] = min(f[k][j-1] + d[i][k]) (i!=k)
-f[i][j]琛ㄧず浠涓鴻搗鐐? 闀垮害涓簀鐨勬渶鐭礬寰? 鍒濆鍖杅[i][1] = 0
榪涜岃冭檻鎬ц川3鍜?, 鍥犺屽浜庣偣1, 鍙兘閫夋嫨鐩擱偦鐨勭偣2鍜宯, 鍙互寰楀埌O(N^2)鐨勬柟紼?br />f[i][j][0] = min{f[i+1][j-1][0] + d[i][i+1], f[i+1][j-1][1] + d[i][i+j-1]}
f[i][j][1] = min{f[i][j-1][1] + d[i+j-1][i+j-2], f[i][j-1][1] + d[i+j-1][i]}
-f[i][j][0]琛ㄧず浠涓鴻搗鐐? 闀垮害涓簀鐨勬渶鐭礬寰? f[i][j][1]琛ㄧず浠涓虹粓鐐? 闀垮害涓簀鐨勬渶鐭礬寰? 鍒濆鍖杅[][1][] = 0
-涓涓疄鐜頒笂鐨勫皬浼樺寲, 淇濊瘉d[i][j](i<j)
*娉ㄦ剰闈欐佹煡閿? 鍖哄埆鍙橀噺鍚? 鎬濊冪畻娉曠殑榪囩▼搴旇闀夸簬璋冭瘯鐨勮繃紼?br />*淇浜嗘祴璇曠偣6

鐏濺榪涚珯train[綰挎p], 70min
1.M <= 3 -> 鍙互鍒嗙被璁ㄨ
2.鍙瓨鍦ㄤ竴鏉¤建閬? M鍙兘鍐沖畾杞ㄩ亾鐨勯暱搴?-> 濡傛灉鍚屾椂鍦ㄨ建閬撲腑, i鍦╦鍓嶇殑蹇呰鏉′歡鏄痠.s<=j.s鍜宨.t<=j.t
3.灝忕珯宸ヤ綔浜哄憳鍙互浠繪剰瀹夋帓榪欎簺鐏濺榪涚珯鐨勫厛鍚庢帓鍒?-> 璁板繂鍖栨悳绱?br />4.灝忕珯鍏佽鍑犺締鐏濺鍚屾椂榪涚珯鎴栧嚭绔?-> 鎵鏈夋潯浠墮兘鍙彇絳夊彿
M = 1, f[i] = max(f[j] + 1)    (i.t <= j.s)
M = 2, f[i][j] = max(f[j][k] + 1)  (i.t <= k.s)
M = 3, f[i][j][k] = max(f[j][k][l] + 1) (i.t <= l.s)
鍒濆鍖杅 = 0, 鍒╃敤vis璁板綍鏄惁璁$畻榪? 鍚勪笅鏍囦簰涓嶇浉絳?br />*鏋氫婦榪囩▼涓敞鎰忓壀鏋? 鍒╃敤i!=j鍜宨.s<=j.s,i.t<=j.t閫愬眰澶勭悊鍗沖彲
*[璇婚]鏄庣‘瑕佹眰鐨勬槸浠涔? 瀛樺湪鍝簺鏉′歡, 鍐檒ist
*[鏈獙璇乚鍏堝浠ヨ繘绔欐椂闂翠負(fù)絎竴鍏抽敭瀛? 鍑虹珯鏃墮棿涓虹浜屽叧閿瓧榪涜蹇帓, 鐒跺悗鐩存帴閫掓帹, 涓嬫爣婊¤凍i < j < k < l

蹇闂meal[璧勬簮鍒嗛厤(涓嶅Θ璁や負(fù)鏄儗鍖?dp + 璐績浼樺寲] -> 綾諱技, usaco 3.4.4 rocker
f[k][i][j]琛ㄧずk鏉$敓浜х嚎鐢熶駭i涓眽鍫? j涓柉鏉℃椂鐢熶駭楗枡鐨勬渶澶у? p[k][i][j]琛ㄧず絎琸鏉$敓浜х嚎, 鍏朵粬鍚?
f[k][i][j] = max{f[k][i-ki][j-kj] + p[k][i][j]}
sum[i] = sum[i-1] + A[i]
鍒濆鍖杅[1][i][j] = p[1][i][j], f[2..n][i][j] = -1, 澶嶆潅搴(N*100^4)
鍑犱釜浼樺寲
1.娉ㄦ剰鍒版瘡縐嶇墿鍝佹繪暟灝忎簬100, 鏈澶т駭閲忕殑涓婇檺鏄痩im = min(100/a, 100/b, 100/c, sum[n]/(a*p1+b*p2+c*p3))
2.涓轟簡閬垮厤鏁扮粍瓚婄晫, i鐨勪笂闄愭槸min(lim*a, sum[n]/p1), j鐨勪笂闄恗in(lim*b, (A[k] - i*p1)/p2);
ki鐨勪笂闄恗in(i, A[k]/p1), kj鐨勪笂闄恗in(j, (A[k] - ki*p1)/p2) -> 瀵逛簬閫楀彿鍙寵竟, 鍏跺疄灝辨槸ki*p1+kj*p2<=A[k]
3.灝嗙▼搴忎腑鐨刴in/max鐢╥f璇彞鏇夸唬
4.瀵逛簬姣忎竴濂楃敓浜х嚎, 灝介噺鎴愬鐢熶駭
[鍙嶄緥]
1 1 1
2 3 7
3
15 16 17
璐績鍙緱鏈澶у間負(fù)3, 瀹為檯涓?5 = 7 + 3 + 3 + 2, 16 = 7 + 3 + 2 + 2 + 2, 17 = 7 + 7 + 3, 鏈澶у間負(fù)4;
鍒╃敤浼樺寲1鍜?鍙互榪?涓祴璇曠偣, 浼樺寲3鍙互榪涗竴姝ヤ紭鍖栨椂闂村父鏁? 鍒╃敤浼樺寲4鍙互榪?涓祴璇曠偣
AC紼嬪簭鍙傝[姝ゆ枃]http://hi.baidu.com/zijingningmeng/blog/item/2761617e2afe7ae32e73b3b3.html
*璋冭瘯榪囩▼涓殑涓昏闂鏄竟鐣屾孩鍑?娌℃湁鍖哄垎鏄惁璁$畻榪?, 鍙橀噺鍚嶅啓閿?br />*緗戜笂鏈夎娉曡〃紺哄幓鎺夋瘡縐嶇墿鍝佺殑浠舵暟闄愬埗鍚? 棰樼洰鍙樻垚緗戠粶嫻?-> gXX璇佷吉
*姣旇禌鐨勮瘽, 涓嶅Θ灝忔暟鎹?n<5)DP, 澶ф暟鎹?n>=5)璐績, 榪欐牱搴旇鍙互寰楀埌瓚呰繃涓鍗婄殑鍒嗘暟

鍗¤濺鏇存柊闂truck, O(N^2), 1h
f[i][k]琛ㄧず絎琲騫存煇杞﹀凡浣跨敤浜唊騫?br />f[i][k] = max{f(i+1, 1) + R[0] - U[0] - C[k], f(i+1, k+1) + R[k] - U[k]}
鍒濆鍖杅[][] = -1, 杈圭晫鏉′歡f[i][k] = 0(i>N,k>K), 鍒╃敤璁板繂鍖栨悳绱㈠疄鐜?br />璁板綍鏂規(guī)鍒╃敤bool鍨嬫暟緇刾rev[i][j][k]璁板綍鏄惁璐拱鏂拌濺, 閫掑綊鍗沖彲
*灝藉彲鑳戒笉鎹㈡柊杞?br />*鍒╃敤鏍蜂緥鏋勯犳爲(wèi), 鍐欏嚭鐘舵佸嵆鍙緱鍒版柟紼?br />*嫻嬭瘯鐐?瀛樺湪絳変環(huán)鏂規(guī), 宸蹭慨姝f暟鎹?鍙兘闇瑕丼pecial Judge)
*f[i][j][k]涓璱鍜宬鍙互鍞竴紜畾鐘舵? 鍥犺屽彲浠ュ幓鎺変腑闂?緇?/p>

閫夎course[鏍?wèi)迮瀌p + 璁板綍鏂規(guī)], 澶氬弶杞簩鍙夊疄鐜?br />f[i][j]琛ㄧず浠涓烘牴鑺傜偣鐨勬爲(wèi)涓? 閫夋嫨j闂ㄨ
f[i][j] = max(f[i.r][j], f[i.l][k] + f[i.r][j-k-1] + i.v) (0<=k<j)
鍒濆鍖杅[][] = 0
[璁板綍鏂規(guī)]
鍒╃敤print(i, j)閫掑綊, vis[i][j]琛ㄧず鏄惁宸查亶鍘? [杈圭晫]i∈[1, m], j∈[1, n]
right[i][j]琛ㄧずf[i][j]鏄惁絳変簬f[i.r][j]
prev[i][j] = k琛ㄧずf[i][j]鐢眆[i.l][k],f[i.r][j-k-1]鎺ㄥ緱, 榪欐椂闇璁板綍p[i] = 1
浠?鍒皀鍒ゆ柇p[i]鐩存帴杈撳嚭鍗沖彲.

8.5

騫垮満閾虹爾闂floor[鐘跺帇dp], 2h
f[i][S] = Σf[i-1][S'] (S鐢盨'鎺ㄥ緱)
鍒濆鍖杅[1][0] = 1, f[h+1][0]鍗充負(fù)絳旀
瀵逛簬姣忎釜f[i-1][S']鍒╃敤dfs(褰撳墠琛宨, 褰撳墠琛岀姸鎬乻1, 涓嬩竴琛岀姸鎬乻2, 褰撳墠琛屾寚閽坘)瀵繪壘S
if(!(s2 & 1<<k) && !(s2 & 1<<(k+1)))
 dp(i, s1, s2, k + 2);//瀛樺湪榪炵畫涓や釜絀轟綅, 鍗蟲í鏀?br />dp(i, s1, s2 ^ (1<<(k)), k + 1);//瀵瑰綋鍓嶄綅鍙栧弽, 鍗崇珫鏀?br />鍒╃敤int淇濆瓨姣忎竴浣嶇殑鎽嗘斁鏂瑰紡, 1琛ㄧず褰撳墠琛岃涓婁竴琛屽崰鐢? 0琛ㄧず褰撳墠琛屾湭琚崰鐢?br />[杈圭晫]k = 0, 閫掑綊榪囩▼涓璳 > w鍒欓鍑?/p>

紜湪鍦版澘floor2[鐘跺帇dp]
f[i][S] = Σf[i-1][S'] (S鐢盨'鎺ㄥ緱)
鍒濆鍖杅[1][0] = 1, f[h+1][0]鍗充負(fù)絳旀
*瀹炵幇鏃犺兘, 鏈緇堟斁寮?-> 鎴戝簲璇ュ幓瀛︿綅榪愮畻浼樺寲BFS -_-
*楸肩墰銆婄姸鎬佸帇緙┿嬬悊瑙d笉鑳? NOI瀵煎垔鏈卞叏姘戞枃绔燾ode涓嶅叏.
*鑰楁椂鏈闀跨殑棰樼洰寰寰涓嶆槸琛ㄩ潰涓婄殑闅鵑, 鑰屾槸閭d簺琚畝鍗曚及璁$殑闅鵑



Climber.pI 2011-08-05 20:51 鍙戣〃璇勮
]]>
Problem List (7.13 ~ 7.20)http://m.shnenglu.com/Climber-pI/archive/2011/07/21/151551.htmlClimber.pIClimber.pIThu, 21 Jul 2011 07:55:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2011/07/21/151551.htmlhttp://m.shnenglu.com/Climber-pI/comments/151551.htmlhttp://m.shnenglu.com/Climber-pI/archive/2011/07/21/151551.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/151551.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/151551.html7.13
p1057 閲戞槑鐨勯綆楁柟妗圼鍒嗙粍鑳屽寘], 1.5h
f[v] = max{f[v], f[v - c[i][j]] + w[i][j]}
*娉ㄦ剰璇婚錛屼富浠剁殑緙栧彿鍜岀墿鍝佺紪鍙風(fēng)浉鍚岋紝榪欓噷璋冧簡1h
*娉ㄦ剰閫楀彿鐨勪嬌鐢?br />
@Ural p1018 Binary Apple Tree[鏍?wèi)迮瀅, 1.5h{澶ч噺鍙傝冮瑙
f[i][j] = max(f[tree[i].l][k] + f[tree[i].r][j-k-1] + tree[i].v)
*鍒濆鍖栦腑浣跨敤-1鏍囪鏈綆?閬垮厤閲嶅0)
*閫掑綊寤烘爲(wèi) -> 瀵繪壘鍎垮瓙鐨勮繃紼嬪彲鍒╃敤閭繪帴琛ㄤ紭鍖朳鏈獙璇乚
*璁板繂鍖栨悳绱[t][q]鍒濆鍖栦負(fù)0, 鏍硅妭鐐瑰兼渶鍚庤綆? 娉ㄦ剰鐗規(guī)畩鎯呭喌0
*鐗瑰埆娉ㄦ剰, 鎶婇鐩腑鐨?杈規(guī)潈 杞崲涓?鐐規(guī)潈, 浠ュ強(qiáng)q鐨勭浉鍏沖彉鍖?br />
7.15
#p1051 閫夎[鏍?wèi)迮濪P], 1.5h
f[i][j] = f[tree[i].r][j] (宸﹀瓙鏍?wèi)绌?
          f[tree[i].l][k]+f[tree[i].r][j-k-1]+tree[i].v (宸﹀瓙鏍?wèi)闈灲I?
*澶氬弶鏍?wèi)铦{浜屽弶鏍?-> 宸﹀効瀛? 鍙沖厔寮?br />if (!left[a]) tree[a].l = i;
else tree[left[a]].r = i;
left[a] = i;
**璁板繂鍖栨悳绱㈣繃紼嬩負(fù)浠涔堜笉鑳界洿鎺ヨ繑鍥瀒nt -> 瀹為獙璇佸疄浼?xì)寮曡捣閿欒? 鍘熷洜涓嶆槑 -> 鐩茬洰鍚堝茍璇彞鎵鑷?br />    if (f[i][j] || i == 0 || j <= 0) return 0;
    搴斾負(fù)
    if (i == 0 || j <= 0) return 0;
    if (f[i][j]) return f[i][j] ;
    -> 鍚堝茍姝ょ被鎺у埗杈圭晫璇彞搴旀敞鎰忚繑鍥炲?br />**娉涘寲鑳屽寘鍋氭硶 http://archive.cnblogs.com/a/2091585/

p1087 sumsets[瀹屽叏鑳屽寘+緇熻鏂規(guī)鏁癩, 60min
f[i][j] = f[i-1][j] + f[i][j-c[i]] (f[0][0] = 1)
涓寮濮嬬洸鐩垪琛ㄦ壘閫掓帹寮? 灝濊瘯鏃犳灉. 鍚庡彂鐜伴鐩湰鎰忓嵆瀹屽叏鑳屽寘闂, 2^k鏄墿浣? 瀹炵幇鏃舵敞鎰忛檷緇?
*緇熻鏂規(guī)鎬繪暟闂閫掓帹寮忎腑max鏀逛負(fù)+, 娉ㄦ剰f[0] = 1
*姝ょ被闂娉ㄦ剰楂樼簿搴︾殑瀹炵幇 鎴栬?mod(娉ㄦ剰棰樼洰涓姹? 濡傛湰棰?浣嶇簿搴?
*鍙︿竴縐嶆柟紼?f[i] = f[i-1]         (i=2k+1) -> 宸查氳繃瑙傚療寰楀埌
                   f[i-1] + f[i/2](i=2k)   -> 鍔ㄦ満鏄粈涔?

p1079 鏁板瓧涓夎褰?[鍧愭爣DP], 30min
f[i][j] = max(f[i+1][j], f[i+1][j+1]) + A[i][j] (0 < j <= i <= n/2)
閫氳繃鍒嗘瀽鍙煡, 鎸囧畾鐐?n/2, n/2)鍓?i, i)蹇呭彇, 鑰屽叾鍚庡拰涓鑸暟瀛椾笁瑙掑仛娉曠浉鍚? 緇堢偣涓篺[n/2][n/2]
鏁呮渶緇堢瓟妗?#931;f(i,i)_(0 < i < n/2) + f[n/2][n/2]
*鍧愭爣闂娉ㄦ剰鍒嗘瀽璧風(fēng)偣鍜岀粓鐐圭殑瑕佹眰

p1084 鏁板瓧涓夎褰?[鍧愭爣DP], 10min
(x, y)鍓? f1[i][j] = max(f1[i-1][j-1], f1[i-1][j]) + A[i][j] (0 < j <= i <= x)
(x, y)鍚? f2[i][j] = max(f2[i+1][j], f2[i+1][j+1]) + A[i][j]
鍒嗘瀽鍙煡, (x, y)鍓嶉『鎺? 鎸囧畾緇堢偣涓?x, y), 璧風(fēng)偣蹇呯劧涓?1, 1), (x, y)鍚庨嗘帹, 鎸囧畾緇堢偣涓?x, y)
鏁呮渶緇堢瓟妗堜負(fù)f1[x][y] + f2[x][y] - A[x][y]

p1076 鏁板瓧涓夎褰?[鍒ゅ畾鎬P], 30min
f[i][j][(k+A[i][j])%100] = f[i+1][j][k] | f[i+1][j+1][k]
閫氳繃澧炲姞緇村害杞寲涓哄垽瀹氭ч棶棰? 鐢變簬鍙栨ā鎵浠鐨勯『搴忎笉紜畾, 鍥犺岀敤鍧愭爣鏉ユ帶鍒墮『搴?br />
7.16

#p1048 鐢板繉璧涢┈[璐績 + DP], 1.5h
1.O(N + NlogN), [棰樿В鏉ヨ嚜緗戠粶]鎬濇兂鏄繖鏍風(fēng)殑, 鍏堟妸鍚勭粍椹殑閫熷害浠庡ぇ鍒板皬鎺掑簭, 鐒跺悗鐢ㄧ敯蹇岀殑椹『搴忎笌榻愬▉鐜嬬殑椹瘮杈?br />if錛堢敯蹇岀殑椹揩錛夋瘮杈冧笅涓瀵歸┈錛?br />else  if錛堢敯蹇岀殑椹參錛夌敤鐢板繉鏈鎱㈢殑椹拰榻愬▉鐜嬬殑榪欏尮椹禌
else{
    浠庢湭榪涜姣旇禌鐨勯熷害灝忕殑椹紑濮嬩粠鍚庡線鍓嶆瘮
    if錛堢敯蹇岀殑椹揩錛?nbsp;     //榪欓噷鏄繀欏葷殑錛屽惁鍒欏鏋滄槸90 73 71 鍜?90 70 70 錛岄偅涔堟病鏈夎繖涓槸
        緇х畫寰鍓嶆瘮     //2-1,鏈変簡鐨勮瘽灝辨槸2+0錛岄潪甯擱噸瑕?br />    else 鐢ㄨ繖鍖歸┈鍜屽垰鎵嶈窇騫崇殑榻愬▉鐜嬬殑椹瘮   
//鎬諱箣鍘熷垯灝辨槸濡傛灉榪欏尮椹笉鑳借耽錛屽氨璁╀粬鍜屾瘮浠栧揩寰堝鐨勯┈姣旓紝榪欐牱淇濇寔閫熷害杈冨揩鐨勯┈
}
*while寰幆鏉′歡, f1 <= r1
2.O(N^2 + NlogN), 鏉ヨ嚜:http://hi.baidu.com/lyltim/blog/item/57fccd1153ea851eb9127ba9.html
[璐績鍒嗘瀽]
1銆佸鏋滅敯蹇屽墿涓嬬殑椹腑鏈寮虹殑椹兘璧笉浜嗛綈鐜嬪墿涓嬬殑鏈寮虹殑椹紝閭d箞搴旇鐢ㄦ渶宸殑涓鍖歸┈鍘昏緭緇欓綈鐜嬫渶寮虹殑椹?br />2銆佸鏋滅敯蹇屽墿涓嬬殑椹腑鏈寮虹殑椹彲浠ヨ耽榻愮帇鍓╀笅鐨勬渶寮虹殑椹紝閭e氨鐢ㄨ繖鍖歸┈鍘昏耽榻愮帇鍓╀笅鐨勬渶寮虹殑椹?
3銆佸鏋滅敯蹇屽墿涓嬬殑椹腑鏈寮虹殑椹拰榻愮帇鍓╀笅鐨勬渶寮虹殑椹墦騫崇殑璇濓紝鍙互閫夋嫨鎵撳鉤鎴栬呯敤鏈宸殑椹緭鎺夋瘮璧涖?br />[DP鍋氭硶]
f[i,j]=max{f[i-1,j]+g[n-(i-j)+1,i],f[i-1,j-1]+g[j,i]}
鍏朵腑g[i,j]琛ㄧず鐢板繉鐨勯┈鍜岄綈鐜嬬殑椹垎鍒寜鐓х敱寮哄埌寮辯殑欏哄簭鎺掑簭涔嬪悗錛岀敯蹇岀殑絎琲鍖歸┈鍜岄綈鐜嬬殑絎琷鍖歸┈璧涜窇鎵鑳藉彇寰楃殑鐩堝埄

#p1402 涔岄緹媯媅璺緞DP], 1.5h
f[i][j][k][l] = max(f[i-1][j][k][l], f[i][j-1][k][l], f[i][j][k-1][l], f[i][j][k][l-1]) + A[i+2j+3k+4l+1]
浠ュ崱鐗囨暟涓洪樁孌? 鐘舵乫[i][j][k][l]琛ㄧず榪樺墿涓嬫瘡縐嶇墝鍚勫灝戝紶鏃跺緱鍒扮殑鏈澶у? 娉ㄦ剰璧峰浣嶇疆
*鍗′簡1h鍥犱負(fù)琚?5鐨勮繃娌沖拰08鐨勪紶綰告潯闄愬埗鎬濈淮, 璁や負(fù)浠ユ墍鍦ㄤ綅緗負(fù)闃舵, 鎯沖絀洪棿闄嶇淮
*[闄嶇淮鏉′歡]鐘舵佸悇緇村害瀛樺湪絳夐噺鍏崇郴, 鍥犺屽彲鍑忓皯鏃墮棿澶嶆潅搴? 浣嗘槸涓嶈兘鏀瑰彉絀洪棿澶嶆潅搴?br />
#p1052 娌℃湁涓婂徃鐨勮垶浼?xì)[鏍?wèi)迮濪P], 1.5h
f[i][0] = ∑max{f[j][0], f[j][1]} (j∈i.son), i涓嶅弬鍔?br />f[i][1] = ∑f[j][0] + tree[i].v   (j∈i.son), i鍙傚姞
[杈圭晫]鑻涓哄彾鑺傜偣, f[i][0] = 0, f[i][1] = tree[i].v
鍓嶅崐涓皬鏃跺啓瀹屼簡澶氬弶杞簩鍙? 璇佹槑浜唋eft[]鐨勫繀瑕佹?
*鐘舵佽璁¢棶棰? 娌℃湁鍖哄垎i鍙傚姞鍜屼笉鍙傚姞鐨勬儏鍐? 騫惰涓篺[i]鐢眆[j](涓嶅彇i, j鏄痠鐨勫効瀛?鍜宖[k](鍙杋, k鏄痠鐨勫瓩瀛?鎺ㄥ緱
*鍙惰妭鐐圭殑鍒濆鍖? 瀵逛簬f[i][]姹傚拰鑰岄潪鍙栨渶澶у? 閫夊彇鏍硅妭鐐硅岄潪鍙惰妭鐐?闇瑕佷袱涓暟緇勬槧灝?
*鐢變簬30min鏃舵柟紼嬭冭檻涓嶅懆, 瀵艱嚧澶氭淇, 鍥犺屽崱浜?h. 鍔″繀瑕佸厛鍐欏嚭姝g‘鏂圭▼.

7.18

p1134 CCR鐨勪腑鑰冧箣鑰冨墠璁″垝[妯℃嫙], 50min
璇枃棰? 棰樼洰鎻忚堪闂寰堝ぇ, 嫻垂浜?.5h, google浜嗕竴涓猻td涔嬪悗寰楀埌姝g‘棰樻剰. 棰樼洰鏄被浼糱eads鐨勬ā鎷熼, 灝嗙幆浠庢煇澶勬墦鏂? 浣垮緱涓ょ縐戠洰綾誨瀷鐩稿悓鐨勫ぉ鏁版渶澶?瀵繪壘鐩稿悓縐戠洰鐨勬潯浠禔[j+1] = 'w' || A[j+1] = A[i].
*鐜姸闂鐨勫鐞嗘柟娉? 2n-1, 鍦ㄦ湰棰樹腑鍙屾柟鍚戝悓鏃惰繘琛屼笉濡?n-2

#p1088 treat[鍖洪棿DP], 20min
f[i][j] = max{f[i+1][j] + A[i] * (n+i-j), f[i][j-1] + A[j] * (n+i-j)} (0 < i < j <= n)
f[i][j]琛ㄧず[i, j]鏈彇鏃剁殑鏈澶у? 鍒濆鍖杅[i][j] = A[i] * n, 浠ラ暱搴涓洪樁孌? 鏁?j = i+l-1
*鑰冭檻絎琸嬈″彇鏁? k = n - (i-j+1) + 1(鍖呮嫭榪欐), 鏄ㄥぉ娌℃兂鍒拌繖鐐瑰崱浜嗗緢涔?br />*鍦ㄧ綉涓婃壘鍒頒簡鍙﹀涓縐嶈緗姸鎬佺殑鏂規(guī)硶, 璁緁[i][j]鏄彇i涓暟, 宸﹁竟鍙杍涓? 鏂圭▼錛?br />f[i][j] = max(f[i - 1][j - 1] + i * A[j], f[i - 1][j] + i * A[n - (i - 1 - j)])
-> 鐚滄兂鍔ㄦ満: 瀛樺湪絳夊紡 鍓?+ 鍚?= 鎬繪暟, 鐘舵佺殑璁劇疆閮芥槸涓轟簡鎻忚堪鐫涓変釜閲?

agirnet[Krusal], 20min
澶嶄範(fàn)騫舵煡闆嗗疄鐜扮殑Krusal

p1307 鑱旂粶鍛榌Krusal],50min
蹇呴夎竟鍏堜嬌鐢╯et[find(e[i].u)] = find(e[i].v)鍚堝茍, 騫惰褰曟潈鍜? 鐒跺悗鎸変竴鑸殑Krusal鍋氬嵆鍙?
*浣跨敤stdlib.h鐨剄sort闂存帴鎺掑簭澶辮觸, 鍘熷洜涓嶇煡(20min)
*娉ㄦ剰姝ゆ椂k++涓嶈兘騫跺叆涓嬩竴琛岃鍙ヤ腑, 鍚﹀垯++k鍜宬鍊間笉鍚屽鑷磋緭鍏ラ敊璇?
    ++k,
    scanf("%d%d%d", &must[k].u, &must[k].v, &must[k].w);
    
7.20

p1113 欖旀棌瀵嗙爜[LIS妯″瀷], 40min, 6WA
f[i] = max{f[j] + 1} (A[j]涓篈[i]鍓嶇紑, 1 <= j < i)
*娉ㄦ剰鏈澶у間笉涓瀹氬湪f[n]涓? 闇瑕佸f[1] -> f[n]榪涜寰幆媯(gè)鏌? 鍗′簡30min

p1187 灝忛渚犵殑娓稿洯鏂規(guī)[0/1鑳屽寘], 15min
f[i][j] = max(f[i-1][j], f[i-1][j - c[i]] + w[i])
瀛樺湪鍙兘鏈婊$殑鎯呭喌, 鏁呭驚鐜鏌[n][]鍗沖彲

#p1190 縐湪鍩庡牎[鑳屽寘DP], 1.5h, 6WA
f[k][j] = f[k][j - w[i]] (j - w[i] >= 0)
綾諱技鍒嗙粍鑳屽寘鐨勫仛娉? 璁板綍姣忕粍鐗╁搧鐨勬墍鏈夊彲鑳藉? 鑻[1..k][V]鍚屾椂涓簍rue, 鍒橵涓烘渶鍊? 涔熷彲浠ュ湪璇誨叆鏃? 寰幆媯(gè)鏌ユ瘡緇勭墿鍝佺殑鍙兘鍊?
*娉ㄦ剰璇婚, 灝ゅ叾鏄悇縐嶆暟鎹寖鍥? 涓嶈閲嶅鍘誨勾絎簩棰?!!
*璇誨叆鏃舵敞鎰廙AXn+1, 鐣欐剰-1鐨勬儏鍐? 鏄劇劧絳旀涓嶄細(xì)瓚呰繃鎵鏈夊煄鍫$殑鏈灝忛珮搴?鑰岄潪鏈澶?.
*棰樼洰涓茍娌℃湁寮鴻皟鎸夐『搴忓彇縐湪, 鍥犺屼竴寮濮嬫墦浜嗘ā鎷? 涔嬪悗鎵嬭幢鍘籊oogle. 瀵逛簬榪欑被闂, 鍦ㄦ彁浜ゅ悗鑻ュ彂鐜板垯搴旂戶緇濊? 姝ゅ涓嶈緇欓鐩鍔犳潯浠?
**娉ㄦ剰榪欑被紜畾鍚勭粍鐗╁搧鎵鏈夊彲鑳藉煎啓娉?鍜?鏈浼樺煎啓娉曠殑鍖哄埆
*涓緇勬祴璇曟暟鎹?
5
87 76 65 54 32 21 23 -1
64 75 25 63 76 23 75 13 64 23 -1
09 78 76 46 32 45 23 -1
23 34 45 -1
12 34 23 -1

p1213 宓屽鐭╁艦[LIS妯″瀷/DAG鏈闀胯礬], 1h, 9WA
(1)f[i] = max(f[j] + 1) (rect[i]鍙祵濂梤ect[j])
*鍒濆鍖杅[] = 1; 鍒濆鍖栦負(fù)0, 杈撳嚭+1浼?xì)瀵艰嚧閿欒? 鍘熷洜涓嶇煡.
-> 鍙︿竴縐嶅啓娉?by Ylen): f[0] = 0, f[] = INT_MAX;
*娉ㄦ剰棰樼洰娌℃湁寮鴻皟鐭╁艦闂村瓨鍦ㄩ『搴? 鍥犺屽瓨鍦ㄥ悗鏁堟? 鏄撶煡闈㈢Н灝忕殑鐭╁艦涓嶄細(xì)宓屽闈㈢Н澶х殑鐭╁艦, 鍥犺屼互闈㈢Н涓哄叧閿瓧瀵箁ect榪涜闂存帴鎺掑簭.
(2)f[i] = max(f[j] + 1 | (i,j)∈G)
鑻ect[i]鍙祵濂梤ect[j], 鍒欏緩绔嬩竴鏉′粠i鍒癹鐨勮竟, 姹傛渶闀胯礬鍗沖彲

Climber.pI 2011-07-21 15:55 鍙戣〃璇勮
]]>
Problem List (5.7)http://m.shnenglu.com/Climber-pI/archive/2011/05/07/145912.htmlClimber.pIClimber.pISat, 07 May 2011 12:26:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2011/05/07/145912.htmlhttp://m.shnenglu.com/Climber-pI/comments/145912.htmlhttp://m.shnenglu.com/Climber-pI/archive/2011/05/07/145912.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/145912.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/145912.html5.7
p1004 婊戦洩[2d鏈闀夸笅闄嶅瓙搴忓垪]
鏃犳濊礬.

p1005 閲囪嵂[綆鍗?1鑳屽寘], 璋冧簡1.5h
[spec,1d] f[j] = max{f[j], f[j - c[i]] + w[i]}, 鑳藉鏈夋晥閬垮厤f[i][j]涓璱鐨勬寚浠i棶棰?br>*2d鍐欐硶欏繪敞鎰廸[i][j] = f[i-1][j]鐨勫間紶閫?br> for (i = 1; i <= n; i++)
  for (j = T; j >= 1; j--)
   if (j >= t[i])
    f[i][j] = max(f[i - 1][j], f[i - 1][j - t[i]] + w[i]);
   else f[i][j] = f[i - 1][j];

p1003 鎵懼晩鎵懼晩鎵綠F[鍔犲己鐗?1鑳屽寘], 璋冧簡1h
璇婚鍒嗘瀽鍚庡彂鐜版槸0/1鑳屽寘妯″瀷, 鏃墮棿闇瑕佸崟鐙鐞?(涓寮濮嬭涓鴻璁板綍璺緞, 鍏跺疄涓嶇敤榪欎箞楹葷儲(chǔ))
f[m][r] = max{f[m][r], f[m - rmb[i]][r - rp[i]] + 1}
t[m][r] = max{t[m][r], f[m - rmb[i]][r - rp[i]] + time[i]}, 濡傛灉f[m]..鍜宖[m-rmb[i]]..鐩哥瓑,娉ㄦ剰鏇存柊t[m][r]
[琛鍐檙ocker鐨勬椂鍊欐兂鍒頒竴縐嶆柟娉曪紝瀵逛簬dp錛岀淮搴﹀線寰鏄渶瑕佽〃紺虹殑閲忔暟-1錛屾墍浠ュ叧浜庢柟紼嬬姸鎬佺殑琛ㄧず鍙互浠庢椂闂村鏉傚害銆佺┖闂村鏉傚害銆侀渶瑕佽〃紺虹殑閲忔暟緇煎悎鑰冭檻.姝ら涓姞涓妕ime鐨勮瘽錛屾樉鐒剁垎鏃墮棿錛岀劧鍚庝粠榪欎釜鏂瑰悜鎬濊冩柟紼?

p1015 鍏礬涔樿濺[綰挎p]
f[i] = max{f[i - k] + A[k]} (1 <= k <= 10)

p1011 浼犵焊鏉鍙岀嚎紼媎p + 鏃墮棿闄嶇淮]
娉ㄦ剰璇婚, 棰樼洰涓殑鏉ュ洖絳変環(huán)涓轟袱嬈″悓鏃剁殑鍗曞悜榪囩▼
f[x1][y1][x2][y2] = max{f[x1-1][y1][x2-1][y2], f[x1-1][y1][x2][y2-1], f[x1][y1-1][x2][y2-1], f[x1][y1-1][x2-1][y2]}+A[x1][y1]+A[x2][y2]
娉ㄦ剰姣忎釜鏁癷f and only if鍙栦竴嬈? f[x1][y1][x2][y2] -= A[x1][y1](x1=x2&&y1=y2)

p1014 涔樻硶娓告垙[鍖洪棿dp]
鏃犳濊礬



Climber.pI 2011-05-07 20:26 鍙戣〃璇勮
]]>
USACO 4.1.1 Nuggetshttp://m.shnenglu.com/Climber-pI/archive/2010/10/19/130467.htmlClimber.pIClimber.pITue, 19 Oct 2010 09:05:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2010/10/19/130467.htmlhttp://m.shnenglu.com/Climber-pI/comments/130467.htmlhttp://m.shnenglu.com/Climber-pI/archive/2010/10/19/130467.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/130467.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/130467.html閲嶅惎usaco.

鎶借薄鍑烘ā鍨?鍙互鍙戠幇鏄竴涓畝鍗曠殑瀹屽叏鑳屽寘闂,澶嶆潅搴(N^2+VN).闇瑕佽冭檻鍑犵鐗規(guī)畩鎯呭喌:
(1)鏃犺В
褰撲笖浠呭綋n涓暟涓湁涓涓暟涓?.
(2)鎯熶竴瑙?br>闇瑕佺‘瀹氱殑鏄綋縐痸鐨勬渶澶у?棰樿В涓槸鏈澶х殑涓や釜鏁扮殑鏈灝忓叕鍊嶆暟,紼嬪簭涓嬌鐢ㄦ渶澶ф暟鐨勫鉤鏂?璇佹槑鏂規(guī)硶涓嶇煡.
(3)鏃犻檺瑙?br>n涓暟涓嶄簰璐?br>

 1/*
 2ID: liuyupa1
 3PROG: nuggets
 4LANG: C++
 5*/

 6#include<stdio.h>
 7int w[15= {0}, f[66000= {0};
 8int p[] = {2357111317192329313741434753596167717379838997101103107109113127131137139149151157163167173179181191193197199211223227229233239241251};
 9void swap(int *x, int *y){
10    int k = *x; *= *y; *= k;
11}

12int max(int x, int y){
13    return x>? x : y;
14}

15int main(){
16    FILE *fin, *fout;
17    fin = fopen("nuggets.in""r");
18    fout = fopen("nuggets.out""w");
19    int n, i, j;
20    fscanf(fin, "%d"&n);
21    for (i = 1; i <= n; i++) fscanf(fin, "%d"&w[i]);
22    for (j = 0; j < 54; j++){
23        int t = 0;
24            for (i = 1; i <= n; i++)
25            if (w[i] % p[j] == 0) t++;
26        if (t == n) {
27            fprintf(fout, "0\n", p[j]);
28            return 0;
29        }

30    }

31    for (i = 1; i < n; i++)
32        for (j = i+1; j <= n; j++)
33            if (w[i] > w[j]) swap(&w[i], &w[j]);
34    if (w[1== 1){
35        fprintf(fout, "0\n", p[j]);
36        return 0;
37    }

38    for (i = 1; i <= n; i++)
39        for (j = 0; j <= w[n]*w[n]; j++)
40            if (j-w[i] >= 0)
41                f[j] = max(f[j], f[j-w[i]]+w[i]);
42    i = w[n-1]*w[n];
43    while (i > -1 && f[i] == i) i--;
44    fprintf(fout, "%d\n", i);
45    return 0;
46}

47


Climber.pI 2010-10-19 17:05 鍙戣〃璇勮
]]>
NOIp 2005 榪囨渤http://m.shnenglu.com/Climber-pI/archive/2010/10/08/129084.htmlClimber.pIClimber.pIFri, 08 Oct 2010 13:54:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2010/10/08/129084.htmlhttp://m.shnenglu.com/Climber-pI/comments/129084.htmlhttp://m.shnenglu.com/Climber-pI/archive/2010/10/08/129084.html#Feedback1http://m.shnenglu.com/Climber-pI/comments/commentRss/129084.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/129084.html綰挎p錛屼絾鏄寖鍥村緢鍙樻? = =

30%鐨勬柟紼嬪緢瀹規(guī)槗鎯沖埌:
[鐘舵乚 f[i]琛ㄧず浠?鍒癷鐐規(guī)渶灝戣俯鍒扮殑鐭沖瓙鏁? stone[i]琛ㄧずi鐐規(guī)湁鏃犵煶瀛?
[鏂圭▼] f[i] = max{f[i-j] + stone[i]} (S<=j<=T)
[鍒濆鍖朷 f[0] = 0, 鍏朵粬璧嬪間負(fù)鏃犻檺澶?

鍦ㄥ疄鐜扮殑鏃跺欓渶瑕佹妸鏂圭▼鍙樺寲涓?f[i+j] = max{f[i] + stone[i+j]}錛屼笉鐒跺湪[1,S]浼?xì)鍑虹幇寰堣寮傜殑缁撴?
 
鐢變簬m榪滆繙灝忎簬l錛屾暣涓簭鍒椾笂鐨勭煶瀛愰潪甯哥█鐤?鎵浠ュ彲浠ュ噺灝戠姸鎬?浣嗘槸鐩墠瀵規(guī)榪樻槸鏈変簺涓嶈В.
鏌愮鎬濊礬鏄紝灝嗙煶瀛愰棿璺濆ぇ[1,2,..,9,10]=2520鐨勯愭鍑忚嚦灝忎簬2520.娉ㄦ剰瑕佸湪鏀跺熬澧炲姞0鍜宭涓や釜"鐭沖瓙"錛岃繖鏍瘋綆楁柊鐨刲杈冧負(fù)鏂逛究.

 1#include<stdio.h>
 2#include<iostream>
 3using namespace std;
 4#define MAXN 1000000;
 5bool L[200000= {0};
 6int f[200000= {0}, stone[110= {0};
 7int min(int x, int y){return x < y ? x : y;}
 8void swap(int x, int y){
 9    int k = stone[x];
10    stone[x] = stone[y];
11    stone[y] = k;
12}

13int main(){
14    int l, S, T, M, i, j;
15    scanf("%d%d%d%d"&l, &S, &T, &M);
16    for (i = 1; i <= M; i++) scanf("%d"&stone[i]);
17    stone[0= 0;
18    for (i = 1; i < M; i++)
19        for (j = i+1; j <= M; j++)
20            if (stone[i] > stone[j]) swap(i, j);
21    stone[++M] = l;
22    for (i = 1; i <= M; i++){
23        while (stone[i] - stone[i-1> 2520) stone[i] -= 2520;
24        if (i != M) L[stone[i]] = 1;
25    }

26    l = stone[M--];
27    for (i = 0; i <= l; i++) f[i] = MAXN; f[0= 0;
28    for (i = 0; i < l; i++)
29        for (j = S; j <= T; j++){
30            int k = i+j;
31            if (i + j >= l) k = l;
32            f[k] = min(f[k], f[i]+L[i]);
33        }

34    printf("%d\n", f[l]);
35}


Climber.pI 2010-10-08 21:54 鍙戣〃璇勮
]]>
NOIp 2003 鍔犲垎浜屽弶鏍?/title><link>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128667.html</link><dc:creator>Climber.pI</dc:creator><author>Climber.pI</author><pubDate>Tue, 05 Oct 2010 03:10:00 GMT</pubDate><guid>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128667.html</guid><wfw:comment>http://m.shnenglu.com/Climber-pI/comments/128667.html</wfw:comment><comments>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128667.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/Climber-pI/comments/commentRss/128667.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Climber-pI/services/trackbacks/128667.html</trackback:ping><description><![CDATA[鏍?span style="FONT-FAMILY: Georgia">褰P錛岄渶瑕佽褰曟柟妗堬紝騫舵敞鎰忕┖鏍?wèi)鐨勬儏鍐?</span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">[鐘舵乚f[i][j]浠庣粨鐐筰鍒癹鐨勬渶澶у姞鍒嗗?/span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">[鏂圭▼]</span><span style="FONT-WEIGHT: bold; FONT-FAMILY: Georgia">f[i][j] = max{f[i][k-1]*f[k+1][j]+a[k]} <span style="COLOR: red">(i<=k<=j)</span></span><br style="FONT-FAMILY: Georgia"><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">瀹炵幇鏂圭▼鐨勬椂鍊欏驚鐜『搴忛潪甯稿叧閿?</span><span style="FONT-WEIGHT: bold; FONT-FAMILY: Georgia">緇撶偣鏁扮敱灝忓埌澶у驚鐜?/span><span style="FONT-FAMILY: Georgia">.鍚﹀垯浼?xì)鍑虹幇闇瑕佺殑鍊兼湭璁$畻鐨勬儏鍐?</span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">璁板綍鏂規(guī)鍙互鐢ㄤ竴涓暟緇刣[i][j]璁板綍k錛岀劧鍚庨掑綊瀵繪壘鏂規(guī)騫惰褰?</span><br><br> <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%; 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: #008080; FONT-FAMILY: courier new"> 1</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<stdio.h><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 2</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<iostream><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 3</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">using</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">namespace</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> std;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 4</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> f[35][35] = {0}, d[35][35] = {0}, ans[35] = {0}, t = 0;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 5</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">void</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> print(</span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> start, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> end){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 6</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (start > end) </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">return</span><span style="COLOR: #000000; FONT-FAMILY: courier new">;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 7</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (start == end) {ans[++t] = start; </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">return</span><span style="COLOR: #000000; FONT-FAMILY: courier new">;}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 8</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    ans[++t] = d[start][end];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 9</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    print(start, d[start][end]-1);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">10</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    print(d[start][end]+1, end);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">11</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">12</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> main(){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">13</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> n, a[35] = {0}, i, j, k, l;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">14</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    scanf("%d", &n);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">15</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i <= n; i++){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">16</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        scanf("%d", &a[i]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">17</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        f[i][i-1] = 1;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">18</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        f[i][i] = a[i];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">19</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">20</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (l = 2; l <= n; l++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">21</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i <= n; i++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">22</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (k = i; k <= i+l-1; k++){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">23</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                j = i+l-1;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">24</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (f[i][j] < f[i][k-1]*f[k+1][j] + a[k]){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">25</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    f[i][j] = f[i][k-1]*f[k+1][j] + a[k];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">26</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    d[i][j] = k;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">27</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">28</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">29</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    printf("%d\n", f[1][n]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">30</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    print(1, n);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">31</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i < t; i++) printf("%d ", ans[i]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">32</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    printf("%d\n", ans[t]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">33</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">34</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000"></span></div> <br><br> <img src ="http://m.shnenglu.com/Climber-pI/aggbug/128667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Climber-pI/" target="_blank">Climber.pI</a> 2010-10-05 11:10 <a href="http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128667.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>NOIp 2006 閲戞槑鐨勯綆楁柟妗?/title><link>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128662.html</link><dc:creator>Climber.pI</dc:creator><author>Climber.pI</author><pubDate>Tue, 05 Oct 2010 02:11:00 GMT</pubDate><guid>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128662.html</guid><wfw:comment>http://m.shnenglu.com/Climber-pI/comments/128662.html</wfw:comment><comments>http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128662.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Climber-pI/comments/commentRss/128662.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Climber-pI/services/trackbacks/128662.html</trackback:ping><description><![CDATA[<span style="FONT-FAMILY: Georgia">棰樼洰涓檮浠朵笉瓚呰繃2涓紝鍥犺屼富闄勪歡瀛樺湪4縐嶄笉鍚岀殑瀛樺彇鎯呭喌錛屽彲浠ヨ漿鍖栦負(fù)鍒嗙粍鑳屽寘闂.</span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">[鐘舵乚f[k][v]琛ㄧず娣誨姞鍓峩緇勭墿鍝侊紝鍓╀綑絀洪棿涓簐鏃剁殑鏈澶у?/span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">[鏂圭▼]</span><span style="FONT-WEIGHT: bold; FONT-FAMILY: Georgia">f[k][v] = max{f[k-1][v], f[k-1][v-c[i]]+w[i]}</span><br style="FONT-FAMILY: Georgia"><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">娉ㄦ剰寰幆欏哄簭.(鍙傝銆婅儗鍖呬節(jié)璁層?</span><br style="FONT-FAMILY: Georgia"><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">闇瑕佹敞鎰忕殑闂(2嬈A):</span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">1.浠旂粏璇婚錛岀‘瀹氱紪鍙峰搴旂殑鐗╁搧.</span><br style="FONT-FAMILY: Georgia"><span style="FONT-FAMILY: Georgia">2.娉ㄦ剰鍒版柟紼嬩腑鐨勫弬鏁伴潪璐?鑳屽寘綾婚棶棰橀渶娉ㄦ剰).</span><br><br> <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%; 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: #008080; FONT-FAMILY: courier new"> 1</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<stdio.h><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 2</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<</span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">string</span><span style="COLOR: #000000; FONT-FAMILY: courier new">.h><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 3</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<iostream><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 4</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">using</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">namespace</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> std;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 5</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> c[65][4], w[65][4], f[32000], </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">set</span><span style="COLOR: #000000; FONT-FAMILY: courier new">[70] = {0};<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 6</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> max(</span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> a, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> b){</span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">return</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> a > b ? a : b;}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 7</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> main(){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 8</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> n, m, v, p, q, i, j, t = 0;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new"> 9</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    FILE *fout = fopen("budget.out", "w");<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">10</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    memset(c, -1, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">sizeof</span><span style="COLOR: #000000; FONT-FAMILY: courier new">(c));<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">11</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    memset(w, -1, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">sizeof</span><span style="COLOR: #000000; FONT-FAMILY: courier new">(w));<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">12</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    memset(f, 0, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">sizeof</span><span style="COLOR: #000000; FONT-FAMILY: courier new">(f));<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">13</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    scanf("%d%d", &n, &m);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">14</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 0; i < m; i++){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">15</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        scanf("%d%d%d", &v, &p, &q);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">16</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        j = 0;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">17</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (!q) {<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">18</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            c[++t][0] = v;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">19</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            w[t][0] = v*p;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">20</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">set</span><span style="COLOR: #000000; FONT-FAMILY: courier new">[i+1] = t;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">21</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">22</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">else</span><span style="COLOR: #000000; FONT-FAMILY: courier new">{<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">23</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            q = </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">set</span><span style="COLOR: #000000; FONT-FAMILY: courier new">[q];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">24</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (w[q][1] == -1){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">25</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                </span><span style="COLOR: #008000; FONT-FAMILY: courier new">//printf("dgfdgds\n");<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">26</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #008000; FONT-FAMILY: courier new"></span><span style="COLOR: #000000; FONT-FAMILY: courier new">                c[q][1] = c[q][0] + v;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">27</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                w[q][1] = w[q][0] + v*p; <br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">28</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">29</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">else</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (w[q][2] == -1){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">30</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                c[q][2] = c[q][0] + v;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">31</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                w[q][2] = w[q][0] + v*p; <br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">32</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                c[q][3] = c[q][1] + v;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">33</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                w[q][3] = w[q][1] + v*p; <br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">34</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">35</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">36</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">37</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i <= t; i++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">38</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (v = n; v >= 0; v--)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">39</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (j = 0; j < 4; j++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">40</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (c[i][j] != -1 && v-c[i][j] >= 0){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">41</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    f[v] = max(f[v], f[v-c[i][j]]+w[i][j]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">42</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">43</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    printf("%d\n", f[n]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">44</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">45</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000"></span></div> <br><br> <img src ="http://m.shnenglu.com/Climber-pI/aggbug/128662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Climber-pI/" target="_blank">Climber.pI</a> 2010-10-05 10:11 <a href="http://m.shnenglu.com/Climber-pI/archive/2010/10/05/128662.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Dp鏈http://m.shnenglu.com/Climber-pI/archive/2010/10/03/128437.htmlClimber.pIClimber.pISun, 03 Oct 2010 04:23:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2010/10/03/128437.htmlhttp://m.shnenglu.com/Climber-pI/comments/128437.htmlhttp://m.shnenglu.com/Climber-pI/archive/2010/10/03/128437.html#Feedback1http://m.shnenglu.com/Climber-pI/comments/commentRss/128437.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/128437.html璁板綍鍐欒繃鐨刣p棰樼洰錛屽茍鍒嗙被錛屽皾璇曟葷粨鍑烘煇綾婚鐩殑涓鑸ā鍨?

(棰樼洰鍓嶆墦*鐨勬湭緙栫▼楠岃瘉)

銆愮嚎鎬фā鍨嬨?/h3>

Tyvj 1049 鏈闀夸笉涓嬮檷瀛愬簭鍒楅棶棰?[O(n^2) [榪樺瓨鍦ㄥ熀浜庝簩鍒嗘煡鎵劇殑O(nlogn)綆楁硶]]

  • [鐘舵乚 f[i]琛ㄧず浠?鍒癷鐨勬渶闀夸笉涓嬮檷瀛愬簭鍒? 鏈澶у奸渶鏇存柊.
  • [鏂圭▼] if(a[j]<=a[i]) f[i] = max{f[j]} (0<j<i, 1<i<=n)

NOIp 2004 鍚堝敱闃熷艦 [O(n^2), 鍙屽悜鏈闀夸笂鍗囧瓙搴忓垪]

  • [鏂圭▼] f[i] = max{f[j]}+1 , 鏋氫婦k(0<=k<=n).

Rqnoj 164 鏈闀垮叕鍏卞瓙涓?[璁板綍鏂規(guī) 瀛愪覆榪炵畫 O(n^2)]

  • [鐘舵乚 f[i][j]琛ㄧず 瀛愪覆A絎琲涓瓧絎?鍜?瀛愪覆B絎琷涓瓧絎?鍓?鍏叡瀛愬簭鍒楅暱搴?/li>
  • [鏂圭▼] f[i][j] = f[i-1][j-1]+1(a[i]=b[j],a[i-1]=b[j-1])|max{f[i-1][j],f[i][j-1]}

UVa 111/10405  [鏈闀垮叕鍏卞瓙搴忓垪闂,O(n^2). 鍙互浣跨敤婊氬姩鏁扮粍闄嶈嚦O(n).]

  • [鐘舵乚 f[i][j]琛ㄧず 瀛愪覆A絎琲涓瓧絎?鍜?瀛愪覆B絎琷涓瓧絎?鍓?鍏叡瀛愬簭鍒楅暱搴?/li>
  • [鏂圭▼] f[i][j] = f[i-1][j-1]+1(a[i]=b[j])|max{f[i-1][j],f[i][j-1]}

UVa 507 [鏈澶ц繛緇拰,O(n).]

  • [鐘舵乚 f[i]琛ㄧず褰撳墠瀛愬簭鍒楀拰(闈炶礋)
  • [鏂圭▼] f[i]=max{f[i-1]+a[i], a[i]},閫掓帹榪囩▼涓渶鏇存柊鏈澶у?

銆愮煩闃墊ā鍨嬨?/h3>

*UVa 10285 婊戦洩 [璁板繂鍖栨悳绱?鏈闀夸笅闄嶅瓙搴忓垪浜岀淮鐗堟湰]

  • [鐘舵乚 f[i][j]琛ㄧず浠?i,j)寮濮嬬殑鏈闀夸笅闄嶅瓙搴忓垪闀垮害.
  • [鏂圭▼] f[i][j] = max{f[i-1][j], f[i][j-1], f[i+1][j], f[i][j+1]}+1(f[i][j]>f[i-1][j]..)

UVa 108

  • 鏈澶х煩闃靛拰錛孫(n^3)錛屾柟紼嬩笉浼? 鏈澶ц繛緇拰鐨勪簩緇寸増鏈?

NOIp 2000 鏂規(guī)牸鍙栨暟 O(n^4)

  • [鐘舵乚 f[i][j][k][l]琛ㄧず涓や漢鍒嗗埆鍒?i,j)銆?k,l)鎵鍙栬繃鐨勬暟鐨勫拰.G[i][j]琛ㄧず鏂規(guī)牸閲岀殑鏁?
  • [鏂圭▼] f[i][j][k][l] = max{f[i-1][j][k-1][l], f[i-1][j][k][l-1], f[i][j-1][k-1][l], f[i][j-1][k][l-1]}+G[i][j]+(i==k&&j==l ? 0 : G[k][l])

NOIp 2008 浼犵焊鏉?/p>

(1) O(n^4)

  • [鐘舵乚 f[x1][y1][x2][y2] 琛ㄧず浠庡嚭鍙戠偣鍒嗗埆鍒?x1,y1)銆?x2,y2)鍙栫殑鏈澶у?G[x][y]琛ㄧず璇ユ牸鐨勬暟.
  • [鏂圭▼] f[x1][y1][x2][y2] = max{f[x1-1][y1][x2-1][y2],f[x1-1][y1][x2][y2-1],f[x1][y1-1][x2-1][y2],f[x1][y1-1][x2][y2-1]}+G[x1][y1]+G[x2][y2](濡傛灉浣嶇疆涓嶉噸澶?
  • [涓涓噸瑕佷紭鍖朷 鏄劇劧鏈?strong>y2=x1+y1-x2(y2>0),鍥犺屾椂闂村鏉傚害鍙互闄嶅埌O(n^3).Cena鏄劇ず鎬葷敤鏃朵粠榪?s闄嶅埌榪?.3s錛屾晥鏋滄槑鏄?

*(2) O(n^3)

  • [鐘舵乚 f[p][x1][x2],p琛ㄧず緇忚繃鐨勬牸瀛愭暟.
  • [鏂圭▼] f[p][x1][x2]=max{f[p-1][x1-1][x2-1],f[p-1][x1-1][x2],f[p-1][x1][x2-1],f[p-1][x1][x2]}+G[x1][p-x1]+G[x2][p-x2](濡傛灉浣嶇疆涓嶉噸澶?

USACO 5.3.4/3.3.4 [鐭╅樀dp,O(n^2)]

  • [鐘舵乚 f[i][j]琛ㄧず浠?i,j)涓哄彸涓嬭鐨勬鏂瑰艦鏈澶ц竟闀?/li>
  • [鏂圭▼] f[i][j] = min{f[i-1][j], f[i-1][j-1], f[i][j-1]}+1 (0<=i,j<n)
  • [棰勫鐞哴 鑻[i][j]=1鍒檉[i][j]=1.

銆愯儗鍖呴棶棰樸?/h3>

USACO 3.3.2

  • [鐘舵乚 f[a1][a2][a3][a4][a5]涓轟拱a1浠剁墿鍝?,a2浠剁墿鍝?,a3浠剁墿鍝?,a4浠剁墿鍝?,a5浠剁墿鍝?鏃訛紝鎵闇鐨勬渶灝戜環(huán)鏍?/li>
  • [鏂圭▼] f[a1][a2][a3][a4][a5] = min{f[a1-p[i][1][a2-p[i][2][a3-p[i][3][a4-p[i][4]][a5-p[i][5]+p[i][0]} (0<i<=s, ak-p[i][k]>=0,p[i][0]鏄紭鎯犲悗鐨勪環(huán)鏍?
  • [杈圭晫鏉′歡] f[0][0][0][0][0]=0;
  • USACO瀹樻柟瑙f硶寰堟湁鍚彂鎬э紝鐢ㄦ渶鐭礬錛屾妸姣忕鐘舵乕a1][a2][a3][a4][a5]錛坅1浠剁墿鍝?,a2浠剁墿鍝?,a3浠剁墿鍝?,a4浠剁墿鍝?,a5浠剁墿鍝?錛夌湅鎴愪竴涓偣錛屽垯鑷沖7776涓偣錛岃屾瘡涓紭鎯犲氨鏄竴鏉¤竟錛屽垯鑷沖105鏉¤竟銆?鎺ヤ笅鏉ュ氨鏄眰[0,0,0,0,0]鍒扮洰鏍囩姸鎬佺殑鏈鐭礬錛岀敤Dijkstra(Heap浼樺寲)鍗沖彲.

USACO 3.1.2 [瀹屽叏鑳屽寘闂, O(n)鎴朞(n^2).]

  • [鐘舵乚 f[i][j]琛ㄧず鏀懼叆絎琲涓墿浣撳悗鍓╀綑浣撶Н涓簀
  • [鏂圭▼] f[i][j] = f[i-1][j] + f[i][j-c[i]]+w[i]

USACO 3.1.6 [瀹屽叏鑳屽寘闂,O(n).]

  • [鐘舵乚 f[i]琛ㄧず鍑戞垚i鍒嗛偖璧勭殑鏈灝戦偖紲ㄦ暟.
  • [鏂圭▼] f[i] = min{f[i-v[j]]+1} (i-v[j] >= 0, 0<=i<n, f[0] = 0).

USACO 2.3.4

  • [鐘舵乚 f[i,j]琛ㄧず鍓峣縐嶈揣甯佹瀯鎴恓鐨勬柟娉曟暟錛岀敤c[i]璁板綍璐у竵鐨勯潰鍊?
  • [鏂圭▼] f[i,j]=f[i-1,j]; 涓嶇敤絎琲縐嶈揣甯?
                 f[i,j]=f[i-1,j]+f[i,j-c[i]] 鐢ㄧi縐嶈揣甯侊紝j>=c[i]

銆愭爲(wèi)褰€?/h3>

USACO 2.3.2

  • [鐘舵乚 f[i,j]琛ㄧず鐢╥涓偣緇勬垚娣卞害鏈澶氫負(fù)j鐨勪簩鍙夋爲(wèi)鐨勬柟娉曟暟錛屽垯錛?/li>
  • [鏂圭▼] f[i,j]=鈭?f[k,j-1]脳f[i-1-k,j-1])(k鈭坽1..i-2}) 
  • [杈圭晫] f[1,i]=1
  • 鎴戜滑瑕佹眰鐨勬槸娣卞害鎭板ソ涓篕鐨勬柟娉曟暟S錛屾槗鐭=f[n,k]-f[n,k-1]銆備絾闇瑕佹敞鎰忕殑鏄紝濡傛灉姣忔閮藉彇妯★紝鏈鍚庡彲鑳戒細(xì)鏈塮[n,k]<f[n,k-1],鎵浠ュ彲浠ョ敤S=(f[n,k]-f[n,k-1]+v) mod v

 

銆愬叾浠栫被鍨嬨?/h3>

USACO 1.5.1 [鏁板瓧涓夎褰

  • [鐘舵乚 f[i][j]琛ㄧず浠?i,j)寮濮嬬粡榪囩殑鏁板瓧鐨勬渶澶у拰
  • [鏂圭▼] f[i][j] = max{f[i+1][j], f[i+1][j+1]}+a[i][j]

USACO 3.3.5 [鍗氬紙闂]

  • [鐘舵乚 s[i][j]琛ㄧず浠巌鍔犲埌j鐨勫拰, 鏋氫婦l=j-i. f[i][j]琛ㄧず浠巌鍒癹鍏堝彇鑰呰兘寰楀埌鐨勬渶澶ф暟瀛楀拰.
  • [鏂圭▼] f[i][j] = s[i][j] - min{f[i+1][j], f[i][j-1]}

USACO 3.2.2

  • [鐘舵乚 f[n][m]琛ㄧず鑷沖m涓?鐨刵浣嶄簩榪涘埗鏁版暟閲?/li>
  • [鏂圭▼] f[n][m] = f[n-1][m] + f[n-1][m-1] (f[0][m] = 1)


]]>NOIp 2008 浼犵焊鏉?/title><link>http://m.shnenglu.com/Climber-pI/archive/2010/10/02/128362.html</link><dc:creator>Climber.pI</dc:creator><author>Climber.pI</author><pubDate>Sat, 02 Oct 2010 14:28:00 GMT</pubDate><guid>http://m.shnenglu.com/Climber-pI/archive/2010/10/02/128362.html</guid><wfw:comment>http://m.shnenglu.com/Climber-pI/comments/128362.html</wfw:comment><comments>http://m.shnenglu.com/Climber-pI/archive/2010/10/02/128362.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Climber-pI/comments/commentRss/128362.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Climber-pI/services/trackbacks/128362.html</trackback:ping><description><![CDATA[<p>鍜?000鐨勬柟鏍煎彇鏁板鍑轟竴杈?鏁版嵁鍔犲己浜嗕竴鐐癸紝濡傛灉鏄8鐨勫洓緇磀p鍙兘浼?xì)瓒呮?80).鎵浠ラ渶瑕佷紭鍖?</p> <p>1.鏅氱殑鍥涚淮鍋氭硶</p> <p>銆愮姸鎬併慺[x1][y1][x2][y2] 琛ㄧず浠庡嚭鍙戠偣鍒嗗埆鍒?x1,y1)銆?x2,y2)鍙栫殑鏈澶у?G[x][y]琛ㄧず璇ユ牸鐨勬暟.</p> <p>銆愭柟紼嬨?strong>f[x1][y1][x2][y2] = max{f[x1-1][y1][x2-1][y2],f[x1-1][y1][x2][y2-1],f[x1][y1-1][x2-1][y2],f[x1][y1-1][x2][y2-1]}+G[x1][y1]+G[x2][y2](濡傛灉浣嶇疆涓嶉噸澶?</strong></p> <p>銆愪竴涓噸瑕佷紭鍖栥戞樉鐒舵湁<strong>y2=x1+y1-x2(y2>0),</strong>鍥犺屾椂闂村鏉傚害鍙互闄嶅埌O(n^3).Cena鏄劇ず鎬葷敤鏃朵粠榪?s闄嶅埌榪?.3s錛屾晥鏋滄槑鏄?</p> <p>2.涓夌淮鍋氭硶(鍙傝冨畼鏂歸瑙?</p> <p>銆愮姸鎬併慺[p][x1][x2],p琛ㄧず緇忚繃鐨勬牸瀛愭暟.</p> <p>銆愭柟紼嬨?strong>f[p][x1][x2]=max{f[p-1][x1-1][x2-1],f[p-1][x1-1][x2],f[p-1][x1][x2-1],f[p-1][x1][x2]}+G[x1][p-x1]+G[x2][p-x2](濡傛灉浣嶇疆涓嶉噸澶?</strong></p> <p>鏈紪紼嬮獙璇?</p> <p>3.鏇翠紭鍖栫殑鍋氭硶</p> <p>dy紲炵墰鎸囧嚭錛岃繘涓姝ョ殑浼樺寲闇瑕佺敤鍒?strong>鏈灝忚垂鐢ㄦ渶澶ф祦</strong>.(NOIP緇濆瓚呯翰,鍙互紜畾涓嶄細(xì)鏇存繁浜?)</p> <p>銆怌ode銆?/p> <p> </p> <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%; 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: #008080; FONT-FAMILY: courier new">1</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<stdio.h><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">2</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">#include<iostream><br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">3</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">using</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">namespace</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> std;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">4</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> f[52][52][52][52] = {0}, n, G[52][52];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">5</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> max(</span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> a, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> b, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> c, </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> d){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">6</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (a < b) a= b;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">7</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (a < c) a= c;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">8</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (a < d) a= d;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">9</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">return</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> a;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">10</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">11</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new"></span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> main(){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">12</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">int</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> m, n, i, j, k, l;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">13</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    scanf("%d%d", &m, &n);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">14</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i <= m; i++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">15</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (j = 1; j <= n; j++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">16</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            scanf("%d", &G[i][j]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">17</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i = 1; i <= m; i++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">18</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">        </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (j = 1; j <= n; j++)<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">19</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">            </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">for</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (k = 1; k <= m; k++){<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">20</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i+j-k > 0) l = i+j-k; </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">else</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">continue</span><span style="COLOR: #000000; FONT-FAMILY: courier new">;<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">21</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    f[i][j][k][l] = max(f[i-1][j][k-1][l], f[i-1][j][k][l-1], f[i][j-1][k-1][l], f[i][j-1][k][l-1])+G[i][j]+G[k][l];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">22</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                    </span><span style="COLOR: #0000ff; FONT-FAMILY: courier new">if</span><span style="COLOR: #000000; FONT-FAMILY: courier new"> (i == k && j == l) f[i][j][k][l] -= G[i][j];<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">23</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">                }<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">24</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">    printf("%d\n", f[m][n][m][n]);<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">25</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000; FONT-FAMILY: courier new">}<br></span><span style="COLOR: #008080; FONT-FAMILY: courier new">26</span><span style="FONT-FAMILY: courier new"> </span><span style="COLOR: #000000"></span></div> <img src ="http://m.shnenglu.com/Climber-pI/aggbug/128362.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Climber-pI/" target="_blank">Climber.pI</a> 2010-10-02 22:28 <a href="http://m.shnenglu.com/Climber-pI/archive/2010/10/02/128362.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>NOIp 2000 鏂規(guī)牸鍙栨暟http://m.shnenglu.com/Climber-pI/archive/2010/10/02/128346.htmlClimber.pIClimber.pISat, 02 Oct 2010 12:14:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2010/10/02/128346.htmlhttp://m.shnenglu.com/Climber-pI/comments/128346.htmlhttp://m.shnenglu.com/Climber-pI/archive/2010/10/02/128346.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/128346.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/128346.html綆鍗昫p錛岄毦鐐瑰湪浜庣姸鎬佺殑琛ㄧず.

棰樼洰鍙互鐪嬪仛涓や漢鍚屾椂鍙栨暟錛岃繖鏍峰氨閬垮厤浜嗗悗鏁堟э紝鍙互鐢╠p鍋氫簡.

銆愮姸鎬併慺[i][j][k][l]琛ㄧず涓や漢鍒嗗埆鍒?i,j)銆?k,l)鎵鍙栬繃鐨勬暟鐨勫拰.G[i][j]琛ㄧず鏂規(guī)牸閲岀殑鏁?

銆愭柟紼嬨?strong>f[i][j][k][l] = max{f[i-1][j][k-1][l], f[i-1][j][k][l-1], f[i][j-1][k-1][l], f[i][j-1][k][l-1]}+G[i][j]+(i==k&&j==l ? 0 : G[k][l])

1嬈A.

#01: Accepted (75ms, 384KB)
#02: Accepted (0ms, 384KB)
#03: Accepted (0ms, 384KB)
#04: Accepted (28ms, 384KB)

銆怌ode銆?/p>

 

 1 #include<stdio.h>
 2 #include<iostream>
 3 using namespace std;
 4 int f[12][12][12][12] = {0}, n, G[12][12];
 5 int max(int a, int b, int c, int d){
 6     if (a < b) a= b;
 7     if (a < c) a= c;
 8     if (a < d) a= d;
 9     return a;
10 }
11 int main(){
12     int a, b, c, i, j, k, l;
13     scanf("%d", &n);
14     for(;;){
15         scanf("%d%d%d", &a, &b, &c);
16         if (a || b || c) G[a][b] = c;
17             else break;
18     }
19     for (i = 1; i <= n; i++)
20         for (j = 1; j <= n; j++)
21             for (k = 1; k <= n; k++)
22                 for (l = 1; l <= n; l++){
23                     f[i][j][k][l] = max(f[i-1][j][k-1][l], f[i-1][j][k][l-1], f[i][j-1][k-1][l], f[i][j-1][k][l-1])+G[i][j]+G[k][l];
24                     if (i == k && j == l) f[i][j][k][l] -= G[i][j];
25                 }
26     printf("%d\n", f[n][n][n][n]);
27 }
28 

 



]]>
NOIP 2004 鍚堝敱闃熷瀷http://m.shnenglu.com/Climber-pI/archive/2010/09/20/127182.htmlClimber.pIClimber.pIMon, 20 Sep 2010 13:35:00 GMThttp://m.shnenglu.com/Climber-pI/archive/2010/09/20/127182.htmlhttp://m.shnenglu.com/Climber-pI/comments/127182.htmlhttp://m.shnenglu.com/Climber-pI/archive/2010/09/20/127182.html#Feedback0http://m.shnenglu.com/Climber-pI/comments/commentRss/127182.htmlhttp://m.shnenglu.com/Climber-pI/services/trackbacks/127182.html鏋氫婦k(0<=k<=n)錛?/strong>f[i] = max{f[j]}+1;
鍦╰yvj鎻愪氦涓鐩碦TE錛屽師鍥犳湭鐭?
 1#include<stdio.h>
 2#include<iostream>
 3using namespace std;
 4

 5int
 main()
 6
{
 7    FILE *fin, *
fout;
 8    fin = fopen("chorus.in""r"
);
 9    fout = fopen("chorus.out""w"
);
10    int i, j, k, n, T[120= {0}, f[120= {0}, ans = 0, final = 0
;
11    fscanf(fin, "%d"&
n);
12    for (i = 1; i <= n; i++) fscanf(fin, "%d"&
T[i]);
13    for (k = 1; k <= n; k++
)
14    
{
15        for (i = 1; i <= n; i++) f[i] = 1
;
16        for (i = 1; i <= k; i++
)
17            for (j = 1; j < i; j++
)
18                if (T[j] < T[i] && f[j]+1 > f[i]) f[i] = f[j]+1
;
19        ans = f[k]-1
;
20        for (i = 1; i <= n; i++) f[i] = 1
;
21        for (i = n; i >= k; i--
)
22            for (j = n; j > i; j--
)
23                if (T[j] < T[i] && f[j]+1 > f[i]) f[i] = f[j]+1
;
24        ans +=
 f[k];
25        if (ans > final) final =
 ans;
26    }

27    fprintf(fout, "%d\n", n-final);
28}

29


]]>
Tyvj 1049 鏈闀夸笉涓嬮檷瀛愬簭鍒?/title><link>http://m.shnenglu.com/Climber-pI/archive/2010/09/11/126422.html</link><dc:creator>Climber.pI</dc:creator><author>Climber.pI</author><pubDate>Sat, 11 Sep 2010 13:11:00 GMT</pubDate><guid>http://m.shnenglu.com/Climber-pI/archive/2010/09/11/126422.html</guid><wfw:comment>http://m.shnenglu.com/Climber-pI/comments/126422.html</wfw:comment><comments>http://m.shnenglu.com/Climber-pI/archive/2010/09/11/126422.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Climber-pI/comments/commentRss/126422.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Climber-pI/services/trackbacks/126422.html</trackback:ping><description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><span style="TEXT-ALIGN: left; LINE-HEIGHT: 21px; FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 14px" class=Apple-style-span> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px">緇忓吀鐨勬渶闀夸笉涓嬮檷瀛愬簭鍒楅棶棰橈紝<span style="FONT-FAMILY: Georgia">O(n^2)銆愯繕瀛樺湪鍩轟簬浜屽垎鏌ユ壘鐨凮(nlogn)綆楁硶銆?/span></p> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px">鏂圭▼錛?strong style="FONT-FAMILY: Georgia">if(a[j]<=a[i]) f[i] = max{f[j]} (0<j<i, 1<i<=n)</strong></p> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px">鍙兘鏄粖澶╃姸鎬佷笉濂斤紝涓鐩村湪綰犵紶緇嗚妭.闇瑕佹敞鎰忕殑鏄紝<strong>瀛愬簭鍒楅暱搴︾殑鏈澶у間笉涓瀹氬湪<span style="FONT-FAMILY: Georgia">f[n]涓?/span></strong>.<br></p> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px"></p> <div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-FAMILY: courier new; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #008080"> 1</span><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif"><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></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif"></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: #008080"> 3</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a[</span><span style="COLOR: #000000">5001</span><span style="COLOR: #000000">], b[</span><span style="COLOR: #000000">5001</span><span style="COLOR: #000000">];<br></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #000000"><img id=Codehighlighter1_84_108_Open_Image onclick="this.style.display='none'; Codehighlighter1_84_108_Open_Text.style.display='none'; Codehighlighter1_84_108_Closed_Image.style.display='inline'; Codehighlighter1_84_108_Closed_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_84_108_Closed_Image onclick="this.style.display='none'; Codehighlighter1_84_108_Closed_Text.style.display='none'; Codehighlighter1_84_108_Open_Image.style.display='inline'; Codehighlighter1_84_108_Open_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> max(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> y) </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_84_108_Closed_Text><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_84_108_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> (x </span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> y) </span><span style="COLOR: #000000">?</span><span style="COLOR: #000000"> x : y;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #000000"><img id=Codehighlighter1_121_398_Open_Image onclick="this.style.display='none'; Codehighlighter1_121_398_Open_Text.style.display='none'; Codehighlighter1_121_398_Closed_Image.style.display='inline'; Codehighlighter1_121_398_Closed_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_121_398_Closed_Image onclick="this.style.display='none'; Codehighlighter1_121_398_Closed_Text.style.display='none'; Codehighlighter1_121_398_Open_Image.style.display='inline'; Codehighlighter1_121_398_Open_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_121_398_Closed_Text><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_121_398_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i, j, n, ans;<br></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    cin </span><span style="COLOR: #000000">>></span><span style="COLOR: #000000"> n;<br></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img id=Codehighlighter1_179_202_Open_Image onclick="this.style.display='none'; Codehighlighter1_179_202_Open_Text.style.display='none'; Codehighlighter1_179_202_Closed_Image.style.display='inline'; Codehighlighter1_179_202_Closed_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_179_202_Closed_Image onclick="this.style.display='none'; Codehighlighter1_179_202_Closed_Text.style.display='none'; Codehighlighter1_179_202_Open_Image.style.display='inline'; Codehighlighter1_179_202_Open_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_179_202_Closed_Text><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_179_202_Open_Text><span style="COLOR: #000000">{cin </span><span style="COLOR: #000000">>></span><span style="COLOR: #000000"> a[i]; b[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img id=Codehighlighter1_231_317_Open_Image onclick="this.style.display='none'; Codehighlighter1_231_317_Open_Text.style.display='none'; Codehighlighter1_231_317_Closed_Image.style.display='inline'; Codehighlighter1_231_317_Closed_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_231_317_Closed_Image onclick="this.style.display='none'; Codehighlighter1_231_317_Closed_Text.style.display='none'; Codehighlighter1_231_317_Open_Image.style.display='inline'; Codehighlighter1_231_317_Open_Text.style.display='inline';" align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif">    </span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_231_317_Closed_Text><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_231_317_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; j </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> i; j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (a[j] </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000"> a[i] </span><span style="COLOR: #000000">&&</span><span style="COLOR: #000000"> b[j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> b[i])<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">                b[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> b[j]</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">    }</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000"> n; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">) <br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (ans </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> b[i]) ans </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> b[i];<br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif">    cout </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> ans </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> endl;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img align=top src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif"></span></div> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px"><br></p> <p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(68,68,68); PADDING-TOP: 0px">椹笂瑕佽蛋浜嗭紝楂樹腑榪樻槸楹葷儲(chǔ)寰堝錛岃繘搴﹁浜虹籂緇?</p> </span></span> <img src ="http://m.shnenglu.com/Climber-pI/aggbug/126422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Climber-pI/" target="_blank">Climber.pI</a> 2010-09-11 21:11 <a href="http://m.shnenglu.com/Climber-pI/archive/2010/09/11/126422.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.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://32m8.com" target="_blank">欧美日韩国产精品专区</a>| <a href="http://www149aa.com" target="_blank">亚洲色无码播放</a>| <a href="http://hankanzhan.com" target="_blank">国产在线精品一区二区中文</a>| <a href="http://4986888.com" target="_blank">性欧美video另类hd性玩具</a>| <a href="http://858185gg.com" target="_blank">亚洲精品中文字幕在线观看</a>| <a href="http://by8556.com" target="_blank">免费看亚洲片</a>| <a href="http://9niuw.com" target="_blank">免费观看30秒视频久久</a>| <a href="http://cbb188.com" target="_blank">蜜臀久久久99精品久久久久久 </a>| <a href="http://4322333.com" target="_blank">免费不卡视频</a>| <a href="http://papala4444.com" target="_blank">久久se精品一区二区</a>| <a href="http://hhhh19.com" target="_blank">久久国产精品99精品国产</a>| <a href="http://tuiliqi.com" target="_blank">国产精品99久久99久久久二8</a>| <a href="http://www789yys.com" target="_blank">亚洲国产三级在线</a>| <a href="http://zzmzit.com" target="_blank">99在线精品视频</a>| <a href="http://6h8c.com" target="_blank">亚洲桃花岛网站</a>| <a href="http://caowo65.com" target="_blank">午夜精品福利视频</a>| <a href="http://hzjqkj.com" target="_blank">久久久久免费视频</a>| <a href="http://simextec.com" target="_blank">你懂的视频一区二区</a>| <a href="http://llyx888.com" target="_blank">91久久夜色精品国产网站</a>| <a href="http://avsemm.com" target="_blank">男人的天堂亚洲</a>| <a href="http://zzchanke.com" target="_blank">最新国产乱人伦偷精品免费网站</a>| <a href="http://happyelephantv.com" target="_blank">国产精品劲爆视频</a>| <a href="http://wwmm9.com" target="_blank">国产日韩欧美综合精品</a>| <a href="http://26mmmm.com" target="_blank">国产在线不卡视频</a>| <a href="http://xianqyd.com" target="_blank">亚洲视频在线观看视频</a>| <a href="http://guanghezixun.com" target="_blank">一区二区三区欧美成人</a>| <a href="http://www-57549.com" target="_blank">欧美人与禽猛交乱配</a>| <a href="http://521531.com" target="_blank">国产精品嫩草99av在线</a>| <a href="http://5c55c5c.com" target="_blank">在线观看欧美日韩</a>| <a href="http://92y5.com" target="_blank">亚洲在线免费</a>| <a href="http://060607.com" target="_blank">欧美国产日韩一区二区三区</a>| <a href="http://cuucs.com" target="_blank">亚洲国产成人精品视频</a>| <a href="http://aydsrmyy.com" target="_blank">亚洲精品小视频在线观看</a>| <a href="http://xxxx48.com" target="_blank">午夜一区二区三区在线观看</a>| <a href="http://daqinhkvip.com" target="_blank">欧美成人午夜剧场免费观看</a>| <a href="http://xxxsxx.com" target="_blank">国产精品自在欧美一区</a>| <a href="http://5xxm.com" target="_blank">99国产精品视频免费观看一公开</a>| <a href="http://a718fun.com" target="_blank">亚洲欧美在线一区</a>| <a href="http://97seee.com" target="_blank">日韩一级片网址</a>| <a href="http://wwwjuhuase.com" target="_blank">欧美成人精精品一区二区频</a>| <a href="http://3333328.com" target="_blank">国产精品综合色区在线观看</a>| <a href="http://www8xvi.com" target="_blank">亚洲美女av在线播放</a>| <a href="http://vod3366.com" target="_blank">免费日韩精品中文字幕视频在线</a>| <a href="http://nebnb89.com" target="_blank">一区二区免费在线播放</a>| <a href="http://744734.com" target="_blank">欧美伦理a级免费电影</a>| <a href="http://www18998.com" target="_blank">亚洲欧洲在线播放</a>| <a href="http://k68c.com" target="_blank">91久久夜色精品国产网站</a>| <a href="http://8xv0.com" target="_blank">久久天天狠狠</a>| <a href="http://3644688.com" target="_blank">亚洲第一精品电影</a>| <a href="http://goldure.com" target="_blank">久久久亚洲人</a>| <a href="http://844985.com" target="_blank">久久露脸国产精品</a>| <a href="http://5773000.com" target="_blank">一本大道久久精品懂色aⅴ </a>| <a href="http://www333444123.com" target="_blank">国产精品免费一区豆花</a>| <a href="http://ydpszcn.com" target="_blank">一区二区三区四区精品</a>| <a href="http://kanebocos.com" target="_blank">亚洲一二三级电影</a>| <a href="http://chengli88.com" target="_blank">国产精品毛片在线看</a>| <a href="http://5858yp.com" target="_blank">久久免费高清视频</a>| <a href="http://www49718.com" target="_blank">久久久久久久91</a>| <a href="http://080177.com" target="_blank">国产亚洲精品综合一区91</a>| <a href="http://sese699.com" target="_blank">最近看过的日韩成人</a>| <a href="http://lovehefei.com" target="_blank">亚洲国产欧美在线</a>| <a href="http://tv-miya188.com" target="_blank">欧美日韩一区二区三区在线观看免 </a>| <a href="http://www-4012345.com" target="_blank">国产精品三级视频</a>| <a href="http://5138555.com" target="_blank">久久夜精品va视频免费观看</a>| <a href="http://xxx444vip.com" target="_blank">欧美96在线丨欧</a>| <a href="http://wwwby113.com" target="_blank">亚洲最新视频在线播放</a>| <a href="http://72avav.com" target="_blank">亚洲综合国产精品</a>| <a href="http://621765.com" target="_blank">国内成人精品视频</a>| <a href="http://5207877.com" target="_blank">亚洲美女黄网</a>| <a href="http://388268.com" target="_blank">亚洲国产专区</a>| <a href="http://34ak.com" target="_blank">午夜精品久久久久久久久</a>| <a href="http://320ur.com" target="_blank">亚洲国产高清自拍</a>| <a href="http://08xxxc.com" target="_blank">亚洲影音一区</a>| <a href="http://tonglijinshu.com" target="_blank">在线视频欧美精品</a>| <a href="http://32tun.com" target="_blank">欧美精品日韩一区</a>| <a href="http://dacellflex.com" target="_blank">美女网站在线免费欧美精品</a>| <a href="http://345kt.com" target="_blank">国产精品萝li</a>| <a href="http://4388x3.com" target="_blank">亚洲国产精品尤物yw在线观看</a>| <a href="http://www4455va.com" target="_blank">欧美精品一区二区三区视频</a>| <a href="http://www-438686.com" target="_blank">久久精品国产96久久久香蕉</a>| <a href="http://tefahsop.com" target="_blank">欧美系列精品</a>| <a href="http://176sfsf.com" target="_blank">一本久道久久综合婷婷鲸鱼</a>| <a href="http://2387463.com" target="_blank">亚洲另类黄色</a>| <a href="http://csjtzn.com" target="_blank">欧美日韩一区在线观看视频</a>| <a href="http://wzxjzx.com" target="_blank">最近中文字幕mv在线一区二区三区四区</a>| <a href="http://goutoujunshi.com" target="_blank">国产精品久久久久久av福利软件</a>| <a href="http://05ec.com" target="_blank">亚洲精品日韩在线</a>| <a href="http://5252bnet.com" target="_blank">亚洲精品乱码久久久久久日本蜜臀 </a>| <a href="http://xxxyyy168.com" target="_blank">亚洲人成在线影院</a>| <a href="http://huaihuaihuai.com" target="_blank">在线免费观看一区二区三区</a>| <a href="http://junmatek.com" target="_blank">亚洲欧美日韩国产成人</a>| <a href="http://895658.com" target="_blank">欧美一区91</a>| <a href="http://bixiuge.com" target="_blank">亚洲大胆人体在线</a>| <a href="http://521nb.com" target="_blank">欧美伦理a级免费电影</a>| <a href="http://xkm663y.com" target="_blank">亚洲少妇中出一区</a>| <a href="http://3s3v.com" target="_blank">狂野欧美一区</a>| <a href="http://www068hs.com" target="_blank">99re视频这里只有精品</a>| <a href="http://320ur.com" target="_blank">欧美日韩在线影院</a>| <a href="http://100736.com" target="_blank">欧美亚洲一级</a>| <a href="http://1392266.com" target="_blank">亚洲精品欧美日韩专区</a>| <a href="http://yjdm296.com" target="_blank">欧美一二三区精品</a>| <a href="http://ctmhotel.com" target="_blank">91久久精品日日躁夜夜躁欧美</a>| <a href="http://862924.com" target="_blank">欧美日韩成人一区二区三区</a>| <a href="http://c7lc.com" target="_blank">一区二区欧美在线</a>| <a href="http://xingba999.com" target="_blank">美国十次成人</a>| <a href="http://xtsjjw.com" target="_blank">亚洲欧美日韩国产一区二区</a>| <a href="http://yymh1056.com" target="_blank">在线观看91精品国产入口</a>| <a href="http://16355t.com" target="_blank">欧美日韩裸体免费视频</a>| <a href="http://xigou666.com" target="_blank">久久爱www久久做</a>| <a href="http://97caoporm.com" target="_blank">99视频在线观看一区三区</a>| <a href="http://lalandapps.com" target="_blank">久久人体大胆视频</a>| <a href="http://wwwnnnn.com" target="_blank">亚洲欧美一区二区在线观看</a>| <a href="http://xiaobi13.com" target="_blank">最新精品在线</a>| <a href="http://kakatok.com" target="_blank">亚洲精品国产精品久久清纯直播</a>| <a href="http://127mingdao.com" target="_blank">国产精品一页</a>| <a href="http://zytxkj.com" target="_blank">国产精品免费电影</a>| <a href="http://283575.com" target="_blank">国产精品www网站</a>| <a href="http://ad377.com" target="_blank">国产精品大片免费观看</a>| <a href="http://caopanjia.com" target="_blank">欧美日韩一区二区在线观看视频</a>| <a href="http://caoliu20.com" target="_blank">美女脱光内衣内裤视频久久网站</a>| <a href="http://4008166177.com" target="_blank">亚洲一区欧美激情</a>| <a href="http://118626cc.com" target="_blank">亚洲一区二区影院</a>| <a href="http://btbt7086.com" target="_blank">亚洲欧美制服另类日韩</a>| <a href="http://baoyu1313.com" target="_blank">日韩午夜免费</a>| <a href="http://lyminghang.com" target="_blank">亚洲欧美文学</a>| <a href="http://zuan3344.com" target="_blank">亚洲香蕉伊综合在人在线视看</a>| <a href="http://cnlbogs.com" target="_blank">亚洲国产影院</a>| <a href="http://395493.com" target="_blank">在线视频欧美日韩精品</a>| <a href="http://shght.com" target="_blank">日韩视频国产视频</a>| <a href="http://91mase.com" target="_blank">中日韩高清电影网</a>| <a href="http://85041960.com" target="_blank">亚洲欧美日本日韩</a>| <a href="http://tinganji.com" target="_blank">久久久久久久久久久久久女国产乱 </a>| <a href="http://021-job.com" target="_blank">欧美精品二区三区四区免费看视频</a>| <a href="http://www4466k.com" target="_blank">久久精品在线视频</a>| <a href="http://012492.com" target="_blank">欧美华人在线视频</a>| <a href="http://hbzbjxzz.com" target="_blank">欧美精品二区</a>| <a href="http://fuwu56.com" target="_blank">国产一区二区三区久久 </a>| <a href="http://4kmz.com" target="_blank">日韩视频一区二区</a>| <a href="http://gbandal.com" target="_blank">亚洲免费观看</a>| <a href="http://clgtzz.com" target="_blank">欧美一区二区日韩</a>| <a href="http://993934.com" target="_blank">欧美黄色一区二区</a>| <a href="http://077229.com" target="_blank">亚洲综合精品一区二区</a>| <a href="http://caopormo.com" target="_blank">欧美影院在线</a>| <a href="http://mytopvogue.com" target="_blank">国产精品国产一区二区</a>| <a href="http://xingmaokeji.com" target="_blank">欧美日韩一区二区视频在线 </a>| <a href="http://pnxingmei.com" target="_blank">亚洲国产毛片完整版 </a>| <a href="http://dy25777.com" target="_blank">一区二区高清在线观看</a>| <a href="http://4hup23.com" target="_blank">日韩亚洲欧美一区二区三区</a>| <a href="http://www-74987.com" target="_blank">亚洲欧美国产高清</a>| <a href="http://73cao.com" target="_blank">日韩五码在线</a>| <a href="http://www227ee.com" target="_blank">亚洲精品欧美极品</a>| <a href="http://1177898.com" target="_blank">久久综合九色综合久99</a>| <a href="http://ruichengxiang.com" target="_blank">亚洲高清视频在线观看</a>| <a href="http://yada-jg.com" target="_blank">亚洲免费婷婷</a>| <a href="http://www47777.com" target="_blank">欧美午夜a级限制福利片</a>| <a href="http://85995m.com" target="_blank">亚洲日本欧美</a>| <a href="http://3333347.com" target="_blank">最新中文字幕亚洲</a>| <a href="http://www-800778.com" target="_blank">欧美国产先锋</a>| <a href="http://www40255.com" target="_blank">亚洲精品久久久久中文字幕欢迎你</a>| <a href="http://551731.com" target="_blank">欧美一区免费</a>| <a href="http://686852a.com" target="_blank">这里只有精品视频在线</a>| <a href="http://jzsp87.com" target="_blank">国产精品高潮在线</a>| <a href="http://4hup23.com" target="_blank">午夜电影亚洲</a>| <a href="http://zjkgjt.com" target="_blank">欧美一级黄色录像</a>| <a href="http://zz9876.com" target="_blank">激情av一区二区</a>| <a href="http://663747.com" target="_blank">欧美高清不卡</a>| <a href="http://bocai01.com" target="_blank">欧美日韩美女在线</a>| <a href="http://343119.com" target="_blank">久久不见久久见免费视频1</a>| <a href="http://ssis378.com" target="_blank">亚洲欧美一区二区激情</a>| <a href="http://hhh699.com" target="_blank">国产精品久久久久77777</a>| <a href="http://bjygp.com" target="_blank">一区二区三区免费网站</a>| <a href="http://86868o.com" target="_blank">欧美高清在线播放</a>| <a href="http://388268.com" target="_blank">久久久久久久999</a>| <a href="http://yujiaosanye.com" target="_blank">国产色综合网</a>| <a href="http://atmub.com" target="_blank">男女av一区三区二区色多</a>| <a href="http://goutoujunshi.com" target="_blank">久久久人成影片一区二区三区</a>| <a href="http://301110.com" target="_blank">亚洲成人资源网</a>| <a href="http://hbstjsgc.com" target="_blank">亚洲视频网在线直播</a>| <a href="http://www-33tt.com" target="_blank">亚洲一区二区在线</a>| <a href="http://avtaobao7788.com" target="_blank">在线免费高清一区二区三区</a>| <a href="http://4379d.com" target="_blank">最新中文字幕亚洲</a>| <a href="http://wwwwy9001.com" target="_blank">韩国v欧美v日本v亚洲v</a>| <a href="http://95gun.com" target="_blank">日韩视频在线观看一区二区</a>| <a href="http://605054.com" target="_blank">国产一区二区三区久久精品</a>| <a href="http://www497171c.com" target="_blank">亚洲成色777777在线观看影院</a>| <a href="http://422608.com" target="_blank">欧美天天在线</a>| <a href="http://wwwcao88.com" target="_blank">亚洲福利在线视频</a>| <a href="http://www-188444.com" target="_blank">国内精品久久久久影院色</a>| <a href="http://ddixx.com" target="_blank">日韩视频在线一区二区三区</a>| <a href="http://phdy999.com" target="_blank">国产欧美日韩综合</a>| <a href="http://55555549.com" target="_blank">亚洲少妇在线</a>| <a href="http://a718sx.com" target="_blank">亚洲精品乱码久久久久久黑人</a>| <a href="http://fsxinruiph.com" target="_blank">亚洲一区二区三区在线观看视频 </a>| <a href="http://jjy891.com" target="_blank">久久黄色网页</a>| <a href="http://9585865.com" target="_blank">久久成人羞羞网站</a>| <a href="http://1355456.com" target="_blank">国产精品久久久久av免费</a>| <a href="http://xxxxxdywvip18.com" target="_blank">欧美国产一区二区</a>| <a href="http://cqrehoo.com" target="_blank">亚洲激情成人在线</a>| <a href="http://www38ccc.com" target="_blank">欧美福利视频在线</a>| <a href="http://irongxun.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>