锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区中文字幕在线观看,国产精品一区免费视频,国产日产欧产精品推荐色 http://www.shnenglu.com/MatoNo1/category/16553.htmlMato鏄竴鍙秴綰уぇ娌欒尪鈥︹︿絾浠栦竴鐩翠互鏉ラ兘鎯蟲垚涓哄悇欏規(guī)瘮璧涢兘No.1鐨勭鐘団︹?/description>zh-cnSat, 20 Oct 2012 00:12:32 GMTSat, 20 Oct 2012 00:12:32 GMT60銆怉HOI2013澶嶄粐銆慡COI2005鐨勪袱閬撴悳绱㈤鎬葷粨http://www.shnenglu.com/MatoNo1/archive/2012/10/19/193523.htmlMato_No1Mato_No1Fri, 19 Oct 2012 13:48:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/10/19/193523.htmlhttp://www.shnenglu.com/MatoNo1/comments/193523.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/10/19/193523.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/193523.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/193523.html闃呰鍏ㄦ枃

Mato_No1 2012-10-19 21:48 鍙戣〃璇勮
]]>
銆怉HOI2013澶嶄粐銆慡COI2008 澶╁鉤http://www.shnenglu.com/MatoNo1/archive/2012/09/25/191996.htmlMato_No1Mato_No1Tue, 25 Sep 2012 13:26:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/25/191996.htmlhttp://www.shnenglu.com/MatoNo1/comments/191996.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/25/191996.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/191996.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/191996.html闃呰鍏ㄦ枃

Mato_No1 2012-09-25 21:26 鍙戣〃璇勮
]]>
銆怉HOI2013澶嶄粐銆戜粠涓閬撻鏉ョ湅DFS鍙?qiáng)鍏朵紭鍖栫殑涓鑸楠ゅ拰鏁扮粍鍒嗗眰闂http://www.shnenglu.com/MatoNo1/archive/2012/09/23/191708.htmlMato_No1Mato_No1Sun, 23 Sep 2012 07:16:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/23/191708.htmlhttp://www.shnenglu.com/MatoNo1/comments/191708.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/23/191708.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/191708.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/191708.htmlRQNOJ187 宸х疆鎸℃澘
———————————————————————————————————————————————————
銆愯儗鏅紙紲炵妵涓嶈鍥ц錛?x錛夈?br />鏈矙鑼舵渶榪戝紑濮嬬寷鏀繪悳绱€佽繎浼箋侀殢鏈虹瓑綆楁硶錛岀洰鏍囨槸A鎺堿HOI2012鐨勫悗3棰橈紙鍦ㄥ摢璺屽掑氨浠庡摢鐖搗錛夈傛槰澶╂櫄涓婃壘鍒拌繖棰橈紝鍙戠幇鏄悳绱紝浜庢槸寮濮嬫崏……緇撴灉琚姌鑵句簡(jiǎn)涓鏅氫笂鍔犱竴涓婂崍鎵岮鎺夛紝涓嶈繃錛岀湅鍦ㄨ繖棰樺彲浠ョ郴緇熸х殑鍙嶆槧DFS浼樺寲鐨勪竴鑸楠わ紝蹇嶄簡(jiǎn)……鍙﹀錛岃繖棰樻槸鏈矙鑼跺湪RQNOJ涓婇氳繃鐨勭400棰?#8230;…鍥炴兂璧烽氳繃絎?00棰樼殑鏃跺欏凡緇忔槸榪戜笁騫村崐涔嬪墠浜?#8230;…鐪熼搴熷晩……
———————————————————————————————————————————————————
鏅欴FS錛堜笉鍔犺凱浠o級(jí)鐨勪紭鍖栨柟娉曚富瑕佹湁錛?br />錛?錛夊彲琛屾у壀鏋濓紝濡傛灉閬囧埌宸茬粡鏃犳硶浜х敓鍙瑙g殑鎯呭喌灝卞壀鏋濓紝鏈夋椂鍊欙紝鍙鎬у壀鏋濅篃鍙互鎸囧湪鎼滅儲(chǔ)榪囩▼涓涓嶅悎娉曟儏鍐電殑鍓旈櫎錛?br />錛?錛夋渶浼樻у壀鏋濓細(xì)濡傛灉閬囧埌宸茬粡鏃犳硶浜х敓姣旂洰鍓嶅緱鍒扮殑鏈浼樿В榪樿浼樼殑瑙g殑鎯呭喌灝卞壀鏋濓紝榪欏叾涓寘鎷惎鍙戝紡鏈浼樻у壀鏋濓紙鍗沖垎鏀檺鐣岋級(jí)錛屽鐩墠瑙g殑榪涘睍鎯呭喌浣滀箰瑙備及璁★紝濡傛灉浼拌鍊奸兘涓嶈兘瓚呰秺鐩墠鐨勬渶浼樿В錛屽垯鍓灊錛?br />錛?錛夐氳繃鏀瑰彉鎼滅儲(chǔ)欏哄簭錛屽敖鏃╁緱鍑鴻緝浼樿В錛屼粠鑰屼負(fù)鍚庨潰鐨勫壀鏋濇彁渚涗綑鍦幫紱
錛?錛夐氳繃棰勫鐞嗙瓑鎵嬫錛屾彁鍓嶅緱鍒板惎鍙戝兼垨鑰呰緝浼樿В錛屼負(fù)鍚庨潰鐨勫壀鏋濇彁渚涗綑鍦幫紱

涓鑸楠わ細(xì)
錛?錛夐澶勭悊錛屽綋鐒舵槸鍐欏湪鏈鍓嶉潰錛屽湪鎼滅儲(chǔ)鍓嶅緱鍒板惎鍙戝肩瓑涓滀笢錛?br />錛?錛夋悳绱㈣繃紼嬩腑錛屽厛鍐欐渶浼樻у壀鏋濓紙鍖呮嫭宸茬粡鍒拌揪鎼滅儲(chǔ)緇堢偣浜?jiǎn)锛屼篃搴旇鍒ゆ柇涓涓嬶紝鎻愬墠鎺掗櫎涓嶆槸鏈浼樿В鐨勬儏鍐碉級(jí)錛?br />錛?錛夊啀鍒ゅ畾鎼滅儲(chǔ)緇堢偣錛屽鏋滃埌浜?jiǎn)锛屼篃涓嶈椹笂鏇存柊瑙eQ岃屾槸瑕佸垽瀹氳繖涓В鏄惁絎﹀悎瑕佹眰錛屽啀鏇存柊錛?br />錛?錛夎嫢鏈埌緇堢偣錛屽啀鍐欏彲琛屾у壀鏋濓紱
錛?錛夋渶鍚庡啓鎼滅儲(chǔ)榪囩▼錛屽寘鎷渶瑕佹敼鍙樻悳绱㈤『搴忕殑鎯呭喌銆?br />
娉ㄦ剰浜嬮」錛?span style="color: red">鏁扮粍鐨勫垎灞傞棶棰樸?/strong>
榪欐槸涓涓緢涓ラ噸鐨勯棶棰橈紝鍥犱負(fù)鍒嗗眰鍑洪敊寰堝彲鑳戒細(xì)瀵艱嚧涓浜涘緢鎬殑閿欒鍑虹幇錛岄毦浠ュ彂鐜般傚湪鎼滅儲(chǔ)棰樼殑璋冭瘯鎶宸?/a>榪欎竴綃囦腑錛屽凡緇忔彁鍒頒簡(jiǎn)榪欎釜闂錛屾湰棰樺張娑夊強(qiáng)鍒頒簡(jiǎn)銆?br />涓鑸潵璇達(dá)紝鎼滅儲(chǔ)榪囩▼涓嬌鐢ㄧ殑鏁扮粍錛堝寘鎷彉閲忥紝鍙互瑙嗕負(fù)闆剁淮鏁扮粍錛夊彲浠ュ垎涓轟互涓嬩笁綾伙細(xì)
錛?錛夊湪鎼滅儲(chǔ)榪囩▼涓紝鍙細(xì)寮曠敤鍏跺鹼紝涓嶄細(xì)淇敼鐨勬暟緇勶紙姣斿棰勫鐞嗕腑寰楀埌鐨勯偅浜涗笢涓滐級(jí)錛岀浉褰撲簬甯擱噺錛?br />錛?錛夊湪鎼滅儲(chǔ)榪囩▼涓紝浼?xì)鏀瑰彉鍏跺鹼紝浣嗗湪鎼滅儲(chǔ)瀹屾瘯鍚庤兘鏀瑰洖鍘熷肩殑鏁扮粍錛?br />錛?錛夊湪鎼滅儲(chǔ)榪囩▼涓紝浼?xì)鏀瑰彉鍏跺鹼紝涓斿湪鎼滅儲(chǔ)瀹屾瘯鍚庝篃鏀逛笉鍥炲師鍊肩殑鏁扮粍銆?br />瀵逛簬錛?錛夛紙2錛夌被鏁扮粍錛屼笉闇鍒嗗眰錛屼絾瀵逛簬絎紙3錛夌被鏁扮粍涓瀹氳鍒嗗眰銆傝繖鏄洜涓鴻繖浜涙暟緇勫湪澶氬眰鎼滅儲(chǔ)涓兘闇瑕佷慨鏀癸紝鑰屼笖鎼滅儲(chǔ)瀹屼簡(jiǎn)涔熸敼涓嶅洖鏉ワ紝濡傛灉涓嶅垎灞傦紝鍒欏綋鍚庨潰鐨勬悳绱㈠畬姣曚互鍚庯紝瑕佺戶緇悳绱㈠墠闈㈢殑錛屽紩鐢ㄧ殑灝嗘槸鍚庨潰鐨勫鹼紝灝變細(xì)鍑洪敊銆?br />瀵逛簬絎紙3錛夌被鏁扮粍錛屾湁鐨勫凡緇?#8220;鑷劧鍒嗗眰”錛堟瘡灞傛悳绱慨鏀圭殑鍏冪礌閮戒笉涓鏍鳳級(jí)錛屾瘮濡傛湰棰樹唬鐮佷腑鐨凴[][]銆丆[][]銆傜劧鑰屾湁鐨勫茍娌℃湁鑷劧鍒嗗眰錛屾瘮濡傛湰棰樼殑len銆乸os[]銆乼mp[]絳夛紝鍥犳瀵逛簬榪欎簺鏁扮粍錛岄渶瑕佸啀鍔犱竴緇達(dá)紝瀵逛簬涓嶅悓灞備嬌鐢ㄨ緇翠笉鍚岀殑鍏冪礌鍗沖彲銆?br />
涓嬮潰鏄湰棰樼殑綆楁硶錛?br />浣跨敤DFS鎼滅儲(chǔ)姣忎釜浣嶇疆鐨勬尅鏉挎槸鍚﹂渶瑕佹斁銆傛悳绱㈡椂錛屽厛鎼滅珫鐨勫啀鎼滄í鐨勶紝鐢變簬棰樼洰瑕佹眰姣忎釜榪為氬潡閮藉繀欏繪槸鐭╁艦錛屽洜姝ゅ浜庣珫鐨勶紝濡傛灉璇ヤ綅緗殑涓婃柟涓や釜鐩擱偦浣嶇疆鐨勬í鐨勬病鏈夊叏鏀撅紙鍖呮嫭鍙斁浜?jiǎn)涓涓級(jí)錛屽垯璇ヤ綅緗殑绔栫殑鏀句笉鏀懼彇鍐充簬鍏朵笂涓琛屽搴斾綅緗殑绔栫殑鏈夋病鏈夋斁錛堢涓琛岄櫎澶栵級(jí)錛屽鏋滀袱涓í鐨勯兘鏀句簡(jiǎn)錛屽垯榪欓噷鐨勭珫鐨勬棦鍙互鏀句篃鍙互涓嶆斁錛堝厛鎼滀笉鏀劇殑鎯呭喌錛夈傚綋鐒?dòng)灱屼竴琛岀殑涓や釜1涔嬮棿蹇呴』鑷沖皯鏈変竴涓珫鐨勶紝榪欐槸鍙鎬ч檺鍒躲傚湪鎼滄í鐨勭殑鏃跺欙紝鎸夌収璇ヨ鎵鏀劇殑绔栫殑錛屽垎鎴愯嫢騫叉錛屾樉鐒舵瘡涓孌佃涔堜笅闈㈤兘鐢ㄦí鐨勫皝涓婏紝瑕佷箞涓涓兘涓嶅皝涓娿傚叾涓紝濡傛灉璇ユ鎵鍦ㄧ殑榪為氬潡閲岄潰鏈?錛屼笖涓嬩竴琛屽搴斾綅緗篃鏈?錛屽垯蹇呴』灝佷笂錛涜嫢璇ユ鎵鍦ㄨ繛閫氬潡閲岄潰娌℃湁1錛屽垯涓嶈兘灝佷笂錛堝洜涓轟笉鑳芥湁涓涓繛閫氬潡閲屼竴涓?閮芥病鏈夛級(jí)錛屽惁鍒欏彲浠ヨ嚜鐢遍夋嫨灝佽繕鏄笉灝侊紙褰撶劧涔熸槸鍏堟悳涓嶅皝鐨勶級(jí)銆傝繖鏍蜂竴鐩存悳鍒版渶鍚庝竴琛岀殑绔栫殑鍚庯紝榪樿鍒ゆ柇鏈鍚庝竴琛屾湁娌℃湁榪為氬潡閲屾病1錛岃嫢娌℃湁錛屽垯涓轟竴涓彲琛岃В銆傚惎鍙戝紡浼樺寲錛氳D[i]涓虹i琛屽強(qiáng)浠ュ悗鑷沖皯瑕佸嚑涓尅鏉匡紙鑻ユ煇琛屾湁K涓?錛屽垯鑷沖皯闇瑕?K-1)涓珫鐨勶紱鑻ユ煇鍒楁湁K涓?錛屽垯鑷沖皯闇瑕?K-1)涓í鐨勶紝绱姞璧鋒潵鍗沖彲錛屾樉鐒惰繖鏄箰瑙備及璁★級(jí)錛孌[i]鍙互棰勫鐞嗗嚭鏉ワ紝褰撳仛鍚彂鍊箋?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
const int MAXN = 35, INF = ~0U >> 2;
int n, m, D[MAXN], len[MAXN], pos[MAXN][MAXN], tmp[MAXN][MAXN], res = INF;
bool A[MAXN][MAXN], C[MAXN][MAXN], R[MAXN][MAXN], S[MAXN][MAXN][MAXN][MAXN];
void dfs0(int No, int v, int sum, bool FF);
void init()
{
    scanf(
"%d%d"&n, &m); int x;
    re(i, n) re(j, m) {scanf(
"%d"&x); A[i][j] = x;}
}
void prepare()
{
    re(i, n) re(j, m) {
        S[i][j][i][j] 
= A[i][j];
        re2(k, i
+1, n) S[i][j][k][j] = A[k][j] || S[i][j][k - 1][j];
        re2(k, j
+1, m) S[i][j][i][k] = A[i][k] || S[i][j][i][k - 1];
        re2(k, i
+1, n) re2(k0, j+1, m) S[i][j][k][k0] = A[k][k0] || S[i][j][k - 1][k0] || S[i][j][k][k0 - 1];
    }
    
int sum;
    re(i, n) {
        D[i] 
= 0;
        re2(j, i, n) {sum 
= 0; re(k, m) if (A[j][k]) sum++if (sum) D[i] += sum - 1;}
        re(k, m) {sum 
= 0; re2(j, i, n) if (A[j][k]) sum++if (sum) D[i] += sum - 1;}
    }
}
void dfs1(int No, int v, int sum)
{
    
if (sum + D[No + 1>= res) return;
    
if (v == len[No] + 1) dfs0(No + 10, sum, 1); else if (tmp[No][v] != 1) dfs1(No, v + 1, sum); else {
        
int l, r, sum0 = sum;
        
if (v) l = pos[No][v - 1+ 1else l = 0;
        
if (v == len[No]) r = m - 1else r = pos[No][v];
        re3(j, l, r) R[No][j] 
= 0; dfs1(No, v + 1, sum);
        re3(j, l, r) {R[No][j] 
= 1; sum0++;} dfs1(No, v + 1, sum0);
    }
}
void dfs0(int No, int v, int sum, bool FF)
{
    
if (sum + D[No + 1>= res) return;
    
bool FF0; if (A[No][v]) {if (!FF) returnelse FF0 = 0;} else FF0 = FF;
    
if (v == m - 1) {
        
if (No == n - 1) {
            len[No] 
= 0; re(i, m-1if (C[No][i]) pos[No][len[No]++= i;
            
int l, r, x; bool FFF = 1;
            re3(i, 
0, len[No]) {
                
if (i) l = pos[No][i - 1+ 1else l = 0;
                
if (i == len[No]) r = m - 1else r = pos[No][i];
                x 
= 0; rre(j, No) if (R[j][l]) {x = j + 1break;}
                
if (!S[x][l][No][r]) {FFF = 0break;}
            }
            
if (FFF) res = sum;
            
return;
        }
        len[No] 
= 0; re(i, m-1if (C[No][i]) pos[No][len[No]++= i;
        
int l, r, x, sum0 = sum;
        re3(i, 
0, len[No]) {
            
if (i) l = pos[No][i - 1+ 1else l = 0;
            
if (i == len[No]) r = m - 1else r = pos[No][i];
            x 
= 0; rre(j, No) if (R[j][l]) {x = j + 1break;}
            
if (S[x][l][No][r] && S[No + 1][l][No + 1][r]) {
                tmp[No][i] 
= 2; re3(j, l, r) {sum0++; R[No][j] = 1;}
            } 
else if (S[x][l][No][r]) {
                tmp[No][i] 
= 1; re3(j, l, r) R[No][j] = 0;
            } 
else {
                tmp[No][i] 
= 0; re3(j, l, r) R[No][j] = 0;
            }
        }
        dfs1(No, 
0, sum0);
    } 
else if (No && (!R[No - 1][v] || !R[No - 1][v + 1])) {
        
if (C[No - 1][v]) {C[No][v] = 1; dfs0(No, v + 1, sum + 11);} else {C[No][v] = 0; dfs0(No, v + 1, sum, FF0);}
    } 
else {
        C[No][v] 
= 0; dfs0(No, v + 1, sum, FF0);
        C[No][v] 
= 1; dfs0(No, v + 1, sum + 11);
    }
}
void pri()
{
    printf(
"%d\n", res);
}
int main()
{
    init();
    prepare();
    dfs0(
0001);
    pri();
    
return 0;
}




Mato_No1 2012-09-23 15:16 鍙戣〃璇勮
]]>
銆怉HOI2013澶嶄粐銆憇-t絎琄鐭畝鍗曡礬闂http://www.shnenglu.com/MatoNo1/archive/2012/09/23/191705.htmlMato_No1Mato_No1Sun, 23 Sep 2012 06:28:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2012/09/23/191705.htmlhttp://www.shnenglu.com/MatoNo1/comments/191705.htmlhttp://www.shnenglu.com/MatoNo1/archive/2012/09/23/191705.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/191705.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/191705.html[SCOI2007 kshort]
姹傚浘鐨剆-t絎琄鐭畝鍗曡礬闂錛岃嫢鏈夐暱搴︾浉鍚岀殑錛屽瓧鍏稿簭灝忕殑浼樺厛銆?br />
棣栧厛錛岀敱浜庢槸綆鍗曡礬錛屾墍浠?a title="A*" href="http://www.shnenglu.com/MatoNo1/archive/2011/05/01/145456.html">A*鏄笉鑳藉仛鐨勶紝鍥犱負(fù)鏈夊彲鑳芥湁涓ゆ潯s-i錛坕涓烘煇涓腑闂寸偣錛夎礬P1鍜孭2錛孭1姣擯2鐭紝浣嗙敱浜嶱1鍒拌揪鐨勯《鐐逛笌P2涓嶅悓錛屽鑷存渶緇堟部P1鍒拌揪t鐨勮礬寰勯暱搴﹂暱浜庢部P2鍒拌揪t鐨勶紙鐢氳嚦鏈夊彲鑳芥部P1鏍規(guī)湰鍒頒笉浜?jiǎn)t錛夈傜劧鍚庯紝濡傛灉鐩存帴鐢―FS錛岀敱浜庤姹傜殑鏄K浼樿В錛岃屼笉鏄渶浼樿В錛屾墍浠ヤ笉鑳戒嬌鐢ㄦ渶浼樻у壀鏋濓紙鍖呮嫭鍒嗘敮闄愮晫錛夛紝鍥犳涓撻棬涓烘渶浼樻у壀鏋濇湇鍔$殑“鏀瑰彉鎼滅儲(chǔ)欏哄簭”鎶宸т篃涓嶈兘浣跨敤浜?jiǎn)锛屽洜姝ゅQ岃兘澶熶嬌鐢ㄧ殑鍙湁鍙鎬у壀鏋濓紝鑰屾湰棰樼殑鏁版嵁鑼冨洿浣垮緱榪欑綆楁硶蹇呯劧TLE銆?br />
姝hВ鏄竴縐嶇敱榪唬鍔犳繁鎬濇兂鎵╁睍寰楀埌鐨?#8220;榪唬鍙樹紭”DFS銆傝緗竴涓礬寰勯暱搴︿笂闄怹錛屾悳绱鍒皌鐨勬墍鏈夌畝鍗曡礬錛屽湪鎼滅儲(chǔ)榪囩▼涓紝閬囧埌闀垮害澶т簬Z鐨勮礬寰勫氨鍋滄錛堝壀鏋濓級(jí)錛岀劧鍚庯紝鑻ュ緱鍒拌礬寰勪笉瓚矺鏉★紝鍒欏鍔燴鐨勫鹼紝閲嶆柊寮濮嬫悳绱紝鐩村埌寰楀埌鐨勮礬寰勬繪暟澶т簬絳変簬K鏉′負(fù)姝€傝繖閲屽彲浠ヨ繘琛屽惎鍙戝紡鐨勪紭鍖栵紝璁緂[i]涓虹偣i鍒皌鐨勬渶鐭礬闀垮害錛屽垯鎼滅儲(chǔ)榪囩▼涓紝鍋囪鐩墠鎼滃埌鐐筰錛屽垯錛堢洰鍓嶈礬寰勯暱搴?g[i]錛夋槸瀵規(guī)暣鏉¤礬寰勬渶鐭暱搴︾殑涔愯浼拌錛屽鏋滆繖涓艱秴榪囦簡(jiǎn)Z錛屽氨鍙互鍓灊錛屼絾鍦ㄥ壀鏋濅箣鍓嶈璁頒笅榪欎釜瓚呰繃浜?jiǎn)Z鐨勫惎鍙戝鹼紝鍙栧叾涓渶灝忕殑浣滀負(fù)涓嬩竴嬈¤凱浠g殑Z鍊箋傞偅涔堝浜庡瓧鍏稿簭鑲夸箞鍔烇紵鍙互鍦ㄦ悳绱㈣繃紼嬩腑錛屽己鍒跺厛鎼滅紪鍙峰皬鐨勭粨鐐癸紝榪欐牱寰楀埌鐨剆-t璺緞蹇呯劧鏄瓧鍏稿簭閫掑鐨勩傚彟澶栧彧瑕佹眰鍑虹K鏉¤礬寰勶紝鎼滅儲(chǔ)灝卞彲浠ョ粓姝紝鍥犱負(fù)瀹規(guī)槗璇佹槑錛岄鐩姹傜殑絎琄鐭殑璺緞涓瀹氬凡緇忔眰鍑烘潵浜?jiǎn)锛堝彧涓崢q囦笉涓瀹氭槸鏈鍚庝竴鏉¤屽凡錛夛紝鎵懼埌鍗沖彲銆傛澶栵紝鍦ㄦ悳绱㈣繃紼嬩腑涓嶈蹇樹簡(jiǎn)鍙鎬у壀鏋濓紝灝辨槸濡傛灉娌跨洰鍓嶆悳鍒扮殑璺緞宸茬粡鍒頒笉浜?jiǎn)t浜?jiǎn)锛屽壀鏋濄?br />
“榪唬鍙樹紭”DFS錛屽氨鏄緗竴涓В鐨勮瘎浠峰肩殑涓婇檺錛堟渶灝忓鹼級(jí)鎴栦笅闄愶紙鏈澶у鹼級(jí)錛屽湪鎼滅儲(chǔ)榪囩▼涓紝濡傛灉瀹為檯璇勪環(huán)鍊鹼紙鎴栬呭惎鍙戝鹼紝濡傛灉鍙互鍔犲惎鍙戝紡浼樺寲鐨勮瘽錛夎秺榪囪繖涓檺鍒訛紝鍒欏壀鏋濄傚湪涓嬈℃悳绱㈠悗錛屽鏋滄病鏈夊緱鍒扮鍚堣姹傜殑瑙o紝灝卞皢璇ラ檺鍒跺?span style="color: red">璁句負(fù)鏈鎼滅儲(chǔ)榪囩▼涓秺鐣?#8220;瓚?#8221;寰楁渶榪戠殑閭d釜鍊?/strong>錛岄噸鏂板紑濮嬫悳绱紝鐩村埌鎵懼埌鎵闇瑕佺殑瑙f垨鑰?span style="color: red">鍙戠幇鏃犺В錛堝鏋滀竴嬈℃悳绱腑娌℃湁鍙戠敓瓚婄晫錛屽嵈浠嶇劧娌℃湁鎵懼埌瑙o級(jí)涓烘銆傚叾搴旂敤涓昏浣撶幇鍦ㄤ袱涓柟闈細(xì)錛?錛夋悳绱㈡爲(wèi)榪囨繁鐢氳嚦鏃犻檺娣憋紝浣嗘墍闇姹傜殑閭d釜瑙e嵈涓嶆繁鐨勬儏鍐碉紱錛?錛夋眰絎琄浼樿В鐨勬儏鍐點(diǎn)?br />
浠g爜錛?
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<algorithm>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
const int MAXN = 51, MAXK = 201, MAXM = 3000, INF = ~0U >> 2;
struct edge {
    
int a, b, w, pre, next;
} E[MAXM 
+ MAXN], E0[MAXM + MAXN];
struct edge0 {
    
int a, b, w;
    
bool operator< (edge0 e0) const {return b < e0.b;}
} _E[MAXM];
int n, m, s, t, K, dist[MAXN], Q[MAXN + 1];
int Z, Z0, vst0[MAXN], _FL, len0, X00[MAXN], No, len[MAXK], X0[MAXK][MAXN], sum0[MAXK], reslen, res[MAXN];
bool vst[MAXN], res_ex = 0;
void init_d()
{
    re(i, n) E[i].pre 
= E[i].next = E0[i].pre = E0[i].next = i; m = n;
}
void add_edge(int a, int b, int w)
{
    E[m].a 
= a; E[m].b = b; E[m].w = w; E[m].pre = E[a].pre; E[m].next = a; E[a].pre = m; E[E[m].pre].next = m;
    E0[m].a 
= b; E0[m].b = a; E0[m].w = w; E0[m].pre = E0[b].pre; E0[m].next = b; E0[b].pre = m; E0[E0[m].pre].next = m++;
}
void init()
{
    
int m0; scanf("%d%d%d%d%d"&n, &m0, &K, &s, &t); init_d(); s--; t--;
    re(i, m0) {scanf(
"%d%d%d"&_E[i].a, &_E[i].b, &_E[i].w); _E[i].a--; _E[i].b--;}
    sort(_E, _E 
+ m0);
    re(i, m0) add_edge(_E[i].a, _E[i].b, _E[i].w);
}
void prepare()
{
    re(i, n) {vst[i] 
= 0; dist[i] = INF;} vst[t] = 1; dist[t] = 0; Q[0= t;
    
int x, y, d0, d1;
    
for (int front=0, rear=0!(!front && rear==|| front==rear+1); front==? front=0 : front++) {
        x 
= Q[front]; d0 = dist[x];
        
for (int p=E0[x].next; p != x; p=E0[p].next) {
            y 
= E0[p].b; d1 = d0 + E0[p].w;
            
if (d1 < dist[y]) {
                dist[y] 
= d1;
                
if (!vst[y]) {vst[y] = 1; Q[rear==? rear=0 : ++rear] = y;}
            }
        }
        vst[x] 
= 0;
    }
}
void dfs(int x, int sum)
{
    
if (x == t) {
        
if (sum <= Z) {sum0[No] = sum; len[No] = len0; re(i, len0) X0[No][i] = X00[i]; No++if (No == K) res_ex = 1;}
        
else if (sum < Z0) Z0 = sum;
        
return;
    } 
else {
        
int h0 = sum + dist[x];
        
if (h0 > Z) {if (h0 < Z0) Z0 = h0; return;}
        vst0[x] 
= ++_FL; Q[0= x; int _x, _y;
        
for (int front=0, rear=0; front<=rear; front++) {
            _x 
= Q[front];
            
for (int p=E[_x].next; p != _x; p=E[p].next) {
                _y 
= E[p].b;
                
if (!vst[_y] && vst0[_y] != _FL) {vst0[_y] = _FL; Q[++rear] = _y;}
            }
        }
        
if (vst0[t] != _FL) return;
        
for (int p=E[x].next; p != x; p=E[p].next) {
            _y 
= E[p].b;
            
if (!vst[_y]) {vst[_y] = 1; X00[len0++= _y; dfs(_y, sum + E[p].w); if (res_ex) returnelse {len0--; vst[_y] = 0;}}
        }
    }
}
void solve()
{
    Z 
= dist[s]; int No0 = 0; _FL = 0;
    
while (1) {
        Z0 
= INF; No = 0; re(i, n) {vst[i] = 0; vst0[i] = 0;}
        vst[s] 
= 1; len0 = 1; X00[0= s; dfs(s, 0);
        
if (res_ex) {
            No0 
= K - No0;
            re(i, K) 
if (sum0[i] == Z) {No0--if (!No0) {reslen = len[i]; re(j, len[i]) res[j] = X0[i][j];}}
            
break;
        } 
else if (Z0 == INF) breakelse {No0 = No; Z = Z0;}
    }
}
void pri()
{
    
if (res_ex) {
        printf(
"%d", res[0+ 1);
        re2(i, 
1, reslen) printf("-%d", res[i] + 1);
        puts(
"");
    } 
else puts("No");
}
int main()
{
    init();
    prepare();
    solve();
    pri();
    
return 0;
}




Mato_No1 2012-09-23 14:28 鍙戣〃璇勮
]]>
鎼滅儲(chǔ)棰樼殑璋冭瘯鎶宸т互鍙?qiáng)涓浜涢檮鍔犲唴瀹?/title><link>http://www.shnenglu.com/MatoNo1/archive/2012/03/22/168637.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Thu, 22 Mar 2012 12:49:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2012/03/22/168637.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/168637.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2012/03/22/168637.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/168637.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/168637.html</trackback:ping><description><![CDATA[     鎽樿: 銆愯儗鏅紙紲炵妵涓嶈閯欒錛夈戞湰娌欒尪鍦ㄦ悳绱㈤鐩殑璋冭瘯涓婂凡緇忔寕榪囦袱嬈′簡(jiǎn)錛圢OI2011鐨刧ame鐢ㄤ簡(jiǎn)2h+鏈ㄦ湁璋冨嚭鏉ワ紝榪樿借浜?jiǎn)鐟艟l兂show鐨勬椂闂達(dá)紝緇撴灉琚尅鍦ㄤ簡(jiǎn)闆嗚闃熼棬澶栵紱NOIP2011鐨刴ayan錛岀敤鏆存悳閮借皟浜?h+錛屾湪鏈夎皟鍑烘潵錛岀粨鏋滄儴鎸傦紝鍏ㄥ浗絎?00鍚嶏紝濡傛灉榪欓AC浜?jiǎn)灏辨槸鍏ㄥ浗鍓?0鍚?#8230;…錛夛紝涓轟簡(jiǎn)闃叉鍦ㄦ帴涓嬫潵鐨勬瘮璧涗腑鍐嶅湪榪欓噷鎸傛帀錛屾湰娌欒尪鍐沖畾濂藉ソ鎼炰竴涓嬭繖涓傘怐FS鐨勮皟璇曟妧宸с戝...  <a href='http://www.shnenglu.com/MatoNo1/archive/2012/03/22/168637.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/MatoNo1/aggbug/168637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2012-03-22 20:49 <a href="http://www.shnenglu.com/MatoNo1/archive/2012/03/22/168637.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>NOI2005 鏅烘収鐝犳父鎴?/title><link>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151509.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Wed, 20 Jul 2011 15:07:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151509.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/151509.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/151509.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/151509.html</trackback:ping><description><![CDATA[     鎽樿: 銆愬師棰樿榪欓噷銆戝緢鏄庢樉鐨勭簿紜鐩栫殑妯″瀷錛?2涓浂浠訛紝鍐嶅姞涓婂畠浠粡榪囨棆杞佺炕杞悗鐨勪笉鍚屽艦鐘訛紝鍏?0縐嶏紝姣忕鍙堝彲浠ユ斁鍦ㄤ笉鍚岀殑浣嶇疆錛堝彧鐪嬫渶宸︿笂鐨勯偅涓彔瀛愶級(jí)涓縐嶉浂浠剁殑涓縐嶄綅緗氨鏄竴琛屻傚垪錛堥檺鍒訛級(jí)鏈変袱縐嶏細(xì)姣忎釜鏍煎瓙鍙兘鏀句竴涓紙55鍒楋級(jí)錛屼互鍙?qiáng)姣忎釜闆朵挥灱堟敞鎰忔槸姣忎釜闆朵挥灱屼笉鏄瘡绉嶉浂錃g錛夊彧鑳界敤涓嬈★紙12鍒楋級(jí)錛屽叡67鍒椼傞鍏堟斁鐨勯偅浜涢浂浠跺彲浠ョ湅鎴愰鍏堥変腑鐨勮銆傜劧鍚嶥LX綺劇‘瑕嗙洊鍗沖彲銆備笅闈㈡槸DLX綺劇‘瑕嗙洊鐨勫嚑涓槗鐤電偣錛氾紙1錛?..  <a href='http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151509.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/MatoNo1/aggbug/151509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2011-07-20 23:07 <a href="http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151509.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬DLX閲嶅瑕嗙洊鐨勮ˉ鍏?/title><link>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151469.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Wed, 20 Jul 2011 04:28:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151469.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/151469.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/151469.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/151469.html</trackback:ping><description><![CDATA[<div>鏄ㄥぉ鍦ㄥ埛PKU1084鐨勬椂鍊欙紝璋冧簡(jiǎn)寰堜箙錛屽彂鐜板師鏉ラ偅鏍峰疄鐜版湁緙洪櫡銆傦紙鍘熸潵鐨勫疄鐜拌<a title="榪欓噷" href="http://www.shnenglu.com/MatoNo1/archive/2011/04/12/144071.html">榪欓噷</a>錛?br /><br />鍦ㄩ噸澶嶈鐩栭棶棰樹腑錛屽垹鍘諱竴鏁村垪鐨勬搷浣滐紙delcol錛夋槸鏂紑璇ュ垪闄や簡(jiǎn)鍒濆緇撶偣澶栫殑鎵鏈夌粨鐐圭殑宸﹀彸閾撅紙delLR錛夛紝榪欐牱錛屽鏋滄湁涓浜涜棰勫厛宸茶閫変腑錛屽垯鍒犲幓榪欎竴琛岋紙鍑嗙‘鏉ヨ鏄榪欎竴琛屾墍鏈夌粨鐐規(guī)墽琛宒elcol鎿嶄綔錛夛紝榪欐椂灝變細(xì)鍑虹幇闂錛屽洜涓哄湪鍒犲幓榪欎竴琛岀殑鏈鍚庝竴涓粨鐐圭殑鏃跺欙紝鍏跺乏銆佸彸閾鵑兘鎸囧悜鍏舵湰韜紝姝ゆ椂灝辨棤娉曞垹鎺夎繖涓粨鐐廣傝В鍐寵繖涓闂鐨勫姙娉曟槸闄や簡(jiǎn)鍦ㄧ煩闃典腑寮曞叆鍒楀ご浠ュ錛岃繕瑕佸紩鍏ヨ澶達(dá)紙rowh錛夛紝騫朵笖淇濊瘉琛屽ご涓嶅垹鎺夈傝繖鏍峰湪鍒犳帀涓鏁磋鐨勬椂鍊欏氨涓嶄細(xì)鍑洪棶棰樹簡(jiǎn)銆備絾鏄紝濡傛灉榪欐牱鐨勮瘽錛岄渶瑕佸湪鎼滅儲(chǔ)榪囩▼涓墽琛宒elcol鎿嶄綔鍓嶈繘琛岀壒鍒わ紝淇濊瘉涓嶅垹鎺夎澶寸粨鐐癸紙姣斿灝嗚澶寸粨鐐圭殑U銆丏鍩熺疆涓?1錛夛紝騫朵笖錛屽湪姹傚惎鍙戝嚱鏁癶()鍊肩殑鏃跺欎篃瑕侀槻姝㈠湪琛屽ご澶勫嚭鐜伴棶棰橈紝鍙互灝嗚澶寸粨鐐圭殑琛屽垪鍙峰潎緗負(fù)0銆?br /><br />鑰屽湪綺劇‘瑕嗙洊闂涓紝鍒犲幓涓鏁村垪鐨勬搷浣滄槸鏂紑緇撶偣鐨勪笂涓嬮摼鑰屼笉鏄乏鍙抽摼錛屽洜姝ゅ湪鍒犲幓涓鏁磋鏃跺氨涓嶉渶瑕佸紩鍏ヨ澶寸粨鐐廣?br /><br />涓嬮潰鏄疨KU1084鐨凙C浠g爜錛? <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-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">#include </span><span style="color: #000000"><</span><span style="color: #000000">iostream</span><span style="color: #000000">></span><span style="color: #000000"><br />#include </span><span style="color: #000000"><</span><span style="color: #000000">stdio.h</span><span style="color: #000000">></span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000"> </span><span style="color: #0000ff">namespace</span><span style="color: #000000"> std;<br /></span><span style="color: #0000ff">#define</span><span style="color: #000000"> re(i, n) for (int i=0; i<n; i++)</span><span style="color: #000000"><br /></span><span style="color: #0000ff">#define</span><span style="color: #000000"> re1(i, n) for (int i=1; i<=n; i++)</span><span style="color: #000000"><br /></span><span style="color: #0000ff">#define</span><span style="color: #000000"> re3(i, l, r) for (int i=l; i<=r; i++)</span><span style="color: #000000"><br /></span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> MAXN </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">60</span><span style="color: #000000">, MAXM </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">55</span><span style="color: #000000">, INF </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">~</span><span style="color: #000000">0U</span><span style="color: #000000"> </span><span style="color: #000000">>></span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">;<br /></span><span style="color: #0000ff">struct</span><span style="color: #000000"> dlnode {<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> r, c, U, D, L, R;<br />} d[(MAXN </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">) </span><span style="color: #000000">*</span><span style="color: #000000"> (MAXM </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">)];<br /></span><span style="color: #0000ff">int</span><span style="color: #000000"> _n, n, m, nodes, rowh[MAXN </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">], cols[MAXM </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">], B[</span><span style="color: #000000">5</span><span style="color: #000000">][</span><span style="color: #000000">5</span><span style="color: #000000">][</span><span style="color: #000000">4</span><span style="color: #000000">], res;<br /></span><span style="color: #0000ff">bool</span><span style="color: #000000"> A[MAXN </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">], vst[MAXN];<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> init_d()<br />{<br />    re3(i, </span><span style="color: #000000">0</span><span style="color: #000000">, m) {d[i].U </span><span style="color: #000000">=</span><span style="color: #000000"> d[i].D </span><span style="color: #000000">=</span><span style="color: #000000"> i; d[i].L </span><span style="color: #000000">=</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">; d[i].R </span><span style="color: #000000">=</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">;} d[</span><span style="color: #000000">0</span><span style="color: #000000">].L </span><span style="color: #000000">=</span><span style="color: #000000"> m; d[m].R </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    nodes </span><span style="color: #000000">=</span><span style="color: #000000"> m; re1(i, n) {rowh[i] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">++</span><span style="color: #000000">nodes; d[nodes].L </span><span style="color: #000000">=</span><span style="color: #000000"> d[nodes].R </span><span style="color: #000000">=</span><span style="color: #000000"> nodes; d[nodes].U </span><span style="color: #000000">=</span><span style="color: #000000"> d[nodes].D </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;}<br />    re1(i, m) cols[i] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> add_node(</span><span style="color: #0000ff">int</span><span style="color: #000000"> r, </span><span style="color: #0000ff">int</span><span style="color: #000000"> c)<br />{<br />    cols[c]</span><span style="color: #000000">++</span><span style="color: #000000">; d[</span><span style="color: #000000">++</span><span style="color: #000000">nodes].r </span><span style="color: #000000">=</span><span style="color: #000000"> r; d[nodes].c </span><span style="color: #000000">=</span><span style="color: #000000"> c;<br />    d[nodes].U </span><span style="color: #000000">=</span><span style="color: #000000"> d[c].U; d[nodes].D </span><span style="color: #000000">=</span><span style="color: #000000"> c; d[c].U </span><span style="color: #000000">=</span><span style="color: #000000"> nodes; d[d[nodes].U].D </span><span style="color: #000000">=</span><span style="color: #000000"> nodes;<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> rh </span><span style="color: #000000">=</span><span style="color: #000000"> rowh[r]; d[nodes].L </span><span style="color: #000000">=</span><span style="color: #000000"> d[rh].L; d[nodes].R </span><span style="color: #000000">=</span><span style="color: #000000"> rh; d[rh].L </span><span style="color: #000000">=</span><span style="color: #000000"> nodes; d[d[nodes].L].R </span><span style="color: #000000">=</span><span style="color: #000000"> nodes;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> delLR(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    d[d[x].L].R </span><span style="color: #000000">=</span><span style="color: #000000"> d[x].R; d[d[x].R].L </span><span style="color: #000000">=</span><span style="color: #000000"> d[x].L;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> delUD(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    d[d[x].U].D </span><span style="color: #000000">=</span><span style="color: #000000"> d[x].D; d[d[x].D].U </span><span style="color: #000000">=</span><span style="color: #000000"> d[x].U;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> resuLR(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    d[d[x].L].R </span><span style="color: #000000">=</span><span style="color: #000000"> d[d[x].R].L </span><span style="color: #000000">=</span><span style="color: #000000"> x;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> resuUD(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    d[d[x].U].D </span><span style="color: #000000">=</span><span style="color: #000000"> d[d[x].D].U </span><span style="color: #000000">=</span><span style="color: #000000"> x;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> delcol(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">d[x].D; i </span><span style="color: #000000">!=</span><span style="color: #000000"> x; i</span><span style="color: #000000">=</span><span style="color: #000000">d[i].D) delLR(i);<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> resucol(</span><span style="color: #0000ff">int</span><span style="color: #000000"> x)<br />{<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">d[x].U; i </span><span style="color: #000000">!=</span><span style="color: #000000"> x; i</span><span style="color: #000000">=</span><span style="color: #000000">d[i].U) resuLR(i);<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> prepare()<br />{<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> x </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    re(i, _n) {<br />        re(j, _n) {B[i][j][</span><span style="color: #000000">0</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">++</span><span style="color: #000000">x; B[i][j][</span><span style="color: #000000">1</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> x </span><span style="color: #000000">+</span><span style="color: #000000"> _n; B[i][j][</span><span style="color: #000000">2</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> x </span><span style="color: #000000">+</span><span style="color: #000000"> _n </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">; B[i][j][</span><span style="color: #000000">3</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> x </span><span style="color: #000000">+</span><span style="color: #000000"> _n </span><span style="color: #000000">+</span><span style="color: #000000"> _n </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;}<br />        x </span><span style="color: #000000">+=</span><span style="color: #000000"> _n </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;<br />    }<br />    x </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    re(i, _n) re(j, _n </span><span style="color: #000000">-</span><span style="color: #000000"> i) re(k, _n </span><span style="color: #000000">-</span><span style="color: #000000"> i) {<br />        x</span><span style="color: #000000">++</span><span style="color: #000000">;<br />        re(t, i</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">) {<br />            add_node(B[j][k </span><span style="color: #000000">+</span><span style="color: #000000"> t][</span><span style="color: #000000">0</span><span style="color: #000000">], x);<br />            add_node(B[j </span><span style="color: #000000">+</span><span style="color: #000000"> t][k][</span><span style="color: #000000">1</span><span style="color: #000000">], x);<br />            add_node(B[j </span><span style="color: #000000">+</span><span style="color: #000000"> t][k </span><span style="color: #000000">+</span><span style="color: #000000"> i][</span><span style="color: #000000">2</span><span style="color: #000000">], x);<br />            add_node(B[j </span><span style="color: #000000">+</span><span style="color: #000000"> i][k </span><span style="color: #000000">+</span><span style="color: #000000"> t][</span><span style="color: #000000">3</span><span style="color: #000000">], x);<br />        }<br />    }<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> rh;<br />    re1(i, n) </span><span style="color: #0000ff">if</span><span style="color: #000000"> (A[i]) {<br />        rh </span><span style="color: #000000">=</span><span style="color: #000000"> rowh[i];<br />        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j</span><span style="color: #000000">=</span><span style="color: #000000">d[rh].R; j </span><span style="color: #000000">!=</span><span style="color: #000000"> rh; j</span><span style="color: #000000">=</span><span style="color: #000000">d[j].R) delcol(j);<br />    }<br />    res </span><span style="color: #000000">=</span><span style="color: #000000"> n;<br />}<br /></span><span style="color: #0000ff">int</span><span style="color: #000000"> h()<br />{<br />    re1(i, m) vst[i] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> z </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">d[</span><span style="color: #000000">0</span><span style="color: #000000">].R; i; i</span><span style="color: #000000">=</span><span style="color: #000000">d[i].R) </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">vst[i]) {z</span><span style="color: #000000">++</span><span style="color: #000000">; vst[i] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">; </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j</span><span style="color: #000000">=</span><span style="color: #000000">d[i].D; j </span><span style="color: #000000">!=</span><span style="color: #000000"> i; j</span><span style="color: #000000">=</span><span style="color: #000000">d[j].D) </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> k</span><span style="color: #000000">=</span><span style="color: #000000">d[j].R; k </span><span style="color: #000000">!=</span><span style="color: #000000"> j; k</span><span style="color: #000000">=</span><span style="color: #000000">d[k].R) vst[d[k].c] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;}<br />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> z;<br />}<br /></span><span style="color: #0000ff">void</span><span style="color: #000000"> dfs(</span><span style="color: #0000ff">int</span><span style="color: #000000"> dep)<br />{<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> h0 </span><span style="color: #000000">=</span><span style="color: #000000"> h(); </span><span style="color: #0000ff">if</span><span style="color: #000000"> (dep </span><span style="color: #000000">+</span><span style="color: #000000"> h0 </span><span style="color: #000000">>=</span><span style="color: #000000"> res) </span><span style="color: #0000ff">return</span><span style="color: #000000">; </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">h0) {res </span><span style="color: #000000">=</span><span style="color: #000000"> dep; </span><span style="color: #0000ff">return</span><span style="color: #000000">;}<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> mins </span><span style="color: #000000">=</span><span style="color: #000000"> INF, c0; </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">d[</span><span style="color: #000000">0</span><span style="color: #000000">].R; i; i</span><span style="color: #000000">=</span><span style="color: #000000">d[i].R) </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">cols[i]) </span><span style="color: #0000ff">return</span><span style="color: #000000">; </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (cols[i] </span><span style="color: #000000"><</span><span style="color: #000000"> mins) {mins </span><span style="color: #000000">=</span><span style="color: #000000"> cols[i]; c0 </span><span style="color: #000000">=</span><span style="color: #000000"> i;}<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i</span><span style="color: #000000">=</span><span style="color: #000000">d[c0].D; i </span><span style="color: #000000">!=</span><span style="color: #000000"> c0; i</span><span style="color: #000000">=</span><span style="color: #000000">d[i].D) {<br />        delcol(i); </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j</span><span style="color: #000000">=</span><span style="color: #000000">d[i].R; j </span><span style="color: #000000">!=</span><span style="color: #000000"> i; j</span><span style="color: #000000">=</span><span style="color: #000000">d[j].R) </span><span style="color: #0000ff">if</span><span style="color: #000000"> (d[j].U </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">) delcol(j);<br />        dfs(dep </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">);<br />        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j</span><span style="color: #000000">=</span><span style="color: #000000">d[i].L; j </span><span style="color: #000000">!=</span><span style="color: #000000"> i; j</span><span style="color: #000000">=</span><span style="color: #000000">d[j].L) </span><span style="color: #0000ff">if</span><span style="color: #000000"> (d[j].U </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">) resucol(j); resucol(i);<br />    }<br />}<br /></span><span style="color: #0000ff">int</span><span style="color: #000000"> main()<br />{<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> tests, _n0, x;<br />    scanf(</span><span style="color: #000000">"</span><span style="color: #000000">%d</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">&</span><span style="color: #000000">tests);<br />    re(testno, tests) {<br />        scanf(</span><span style="color: #000000">"</span><span style="color: #000000">%d%d</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">&</span><span style="color: #000000">_n, </span><span style="color: #000000">&</span><span style="color: #000000">_n0);<br />        n </span><span style="color: #000000">=</span><span style="color: #000000"> _n </span><span style="color: #000000">*</span><span style="color: #000000"> (_n </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">) </span><span style="color: #000000"><<</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">; m </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; re1(i, _n) m </span><span style="color: #000000">+=</span><span style="color: #000000"> i </span><span style="color: #000000">*</span><span style="color: #000000"> i; init_d(); re1(i, n) A[i] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />        re(i, _n0) {scanf(</span><span style="color: #000000">"</span><span style="color: #000000">%d</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">&</span><span style="color: #000000">x); A[x] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;}<br />        prepare();<br />        dfs(</span><span style="color: #000000">0</span><span style="color: #000000">);<br />        printf(</span><span style="color: #000000">"</span><span style="color: #000000">%d\n</span><span style="color: #000000">"</span><span style="color: #000000">, res);<br />    }<br />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div><br /></div><img src ="http://www.shnenglu.com/MatoNo1/aggbug/151469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2011-07-20 12:28 <a href="http://www.shnenglu.com/MatoNo1/archive/2011/07/20/151469.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐢ˋ*姹傚浘鐨勫崟婧愬崟姹囩K鐭礬http://www.shnenglu.com/MatoNo1/archive/2011/05/01/145456.htmlMato_No1Mato_No1Sun, 01 May 2011 07:25:00 GMThttp://www.shnenglu.com/MatoNo1/archive/2011/05/01/145456.htmlhttp://www.shnenglu.com/MatoNo1/comments/145456.htmlhttp://www.shnenglu.com/MatoNo1/archive/2011/05/01/145456.html#Feedback0http://www.shnenglu.com/MatoNo1/comments/commentRss/145456.htmlhttp://www.shnenglu.com/MatoNo1/services/trackbacks/145456.html緇欏嚭涓涓浘G鍜屾寚瀹氱殑婧愮偣s銆佹眹鐐箃錛屾眰鍥句腑浠庣偣s鍒扮偣t鐨勭K鐭礬銆?br>銆愬叿浣撻鐩?a title=PKU2449 >PKU2449錛堟敞鎰忥細(xì)鏈鏈変竴涓尌鐞愪箣澶勶細(xì)涓嶅厑璁哥┖璺緞銆備篃灝辨槸褰搒絳変簬t鏃惰灝咾鍊煎姞1錛?br>銆愮畻娉曘?br>鏈鏈変竴縐嶆渶鏈寸礌鐨勫姙娉曪細(xì)鏀歸燚ijkstra錛屼竴寮濮嬭礬寰?s, 0)錛堣繖閲岃璺緞(i, l)琛ㄧず浠巗鍒癷鐨勪竴鏉¢暱搴︿負(fù)l鐨勮礬寰勶級(jí)鍏ラ槦銆傜劧鍚庯紝姣忔鍙栭槦涓暱搴︽渶鐭殑璺緞錛岃璺緞(i, l)鍑洪槦錛屽彲浠ヨ瘉鏄庯紝鑻ヨ繖鏄粓鐐逛負(fù)i鐨勮礬寰勭x嬈″嚭闃燂紝璇ヨ礬寰勪竴瀹氭槸鍥句腑浠巗鍒癷鐨勭x鐭礬錛堣嫢x>K鍒欒璺緞宸叉棤鐢紝鑸嶅純錛夈傜劧鍚庝粠鐐筰鎵╁睍錛屽皢鎵╁睍鍒扮殑璺緞鍏ㄩ儴鍏ラ槦銆傝繖鏍風(fēng)洿鍒扮粓鐐逛負(fù)t鐨勮礬寰勭K嬈″嚭闃熷嵆鍙?br>璇ョ畻娉曞鏄撳疄鐜幫紙鍊熷姪priority_queue錛夛紝浣嗘椂闂村鏉傚害鍙兘杈懼埌O(MK)錛岄渶瑕佷紭鍖栥?br>浼樺寲錛氬鏄撳彂鐜拌綆楁硶鍏跺疄鏈堿*鐨勬濇兂錛屾垨鑰呰錛岃綆楁硶鍏跺疄鏄墍鏈夌粨鐐圭殑浼頒環(huán)鍑芥暟h()鍊煎潎涓?鐨凙*綆楁硶銆備負(fù)浜?jiǎn)浼樺寲姝ら锛岄渶瑕佸皢h()鍊兼敼澶с傛樉鐒?dòng)灱宧(i)鍊煎彲浠ヨ涓?span style="COLOR: red">浠巌鍒皌鐨勬渶鐭礬寰勯暱搴?/strong>錛堝鏄撹瘉鏄庡畠鏄竴鑷寸殑錛夛紝鐒跺悗g(i)=鐩墠緇撶偣浠h〃鐨勮礬寰勯暱搴︼紝f(i)=g(i)+h(i)錛岀劧鍚嶢*鍗沖彲銆?br>
娉ㄦ剰錛氭洿鏀硅礬寰勬潯鏁板簲璇ュ湪鍑洪槦鏃舵洿鏀癸紝鑰屼笉鑳藉湪鍏ラ槦鏃舵洿鏀癸紝鍥犱負(fù)鍙兘鍦ㄨ璺緞鍑洪槦涔嬪墠浼?xì)鏈夋柊鐨勬瘮瀹冩洿鐭殑璧\寰勫叆闃熴?br>
浠g爜錛圥KU2449錛夛細(xì)
#include <iostream>
#include 
<stdio.h>
#include 
<queue>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
const int MAXN = 1500, MAXM = 150000, INF = ~0U >> 2;
struct edge {
    
int kk, len, next;
} ed[MAXM], ed2[MAXM];
int n, m, s, t, k_, hd[MAXN], tl[MAXN], hd2[MAXN], tl2[MAXN], h[MAXN], q[MAXN + 1], No[MAXN], res = -1;
bool vst[MAXN];
struct qnode {
    
int i, g;
};
typedef priority_queue 
<qnode, vector<qnode> > pq;
pq z;
bool operator< (qnode q1, qnode q2)
{
    
return q1.g + h[q1.i] > q2.g + h[q2.i];
}
void init()
{
    
int a0, b0, l0;
    scanf(
"%d%d"&n, &m);
    re(i, n) hd[i] 
= tl[i] = hd2[i] = tl2[i] = -1;
    re(i, m) {
        scanf(
"%d%d%d"&a0, &b0, &l0); a0--; b0--;
        ed[i].kk 
= b0; ed[i].len = l0; ed[i].next = -1;
        
if (hd[a0] == -1) hd[a0] = tl[a0] = i; else tl[a0] = ed[tl[a0]].next = i;
        ed2[i].kk 
= a0; ed2[i].len = l0; ed2[i].next = -1;
        
if (hd2[b0] == -1) hd2[b0] = tl2[b0] = i; else tl2[b0] = ed2[tl2[b0]].next = i;
    }
    scanf(
"%d%d%d"&s, &t, &k_); --s; --t; k_ += s == t;
}
void prepare()
{
    re(i, n) {h[i] 
= INF; vst[i] = 0;} h[t] = 0; vst[t] = 1; q[0= t;
    
int i, h0, j, h1;
    
for (int front=0, rear=0!(!front && rear == n || front == rear + 1); front == n ? front = 0 : front++) {
        i 
= q[front]; h0 = h[i];
        
for (int p=hd2[i]; p != -1; p=ed2[p].next) {
            j 
= ed2[p].kk; h1 = h0 + ed2[p].len;
            
if (h1 < h[j]) {
                h[j] 
= h1;
                
if (!vst[j]) {vst[j] = 1if (rear == n) q[rear = 0= j; else q[++rear] = j;}
            }
        }
        vst[i] 
= 0;
    }
}
void solve()
{
    qnode q0; q0.i 
= s; q0.g = 0; z.push(q0);
    re(i, n) No[i] 
= 0;
    
int i, d0, j, d1;
    
while (!z.empty()) {
        i 
= z.top().i; d0 = z.top().g; z.pop();
        
if (No[i] >= k_) continue;
        No[i]
++;
        
if (i == t && No[i] == k_) {res = d0; break;}
        
for (int p=hd[i]; p != -1; p=ed[p].next) {
            j 
= ed[p].kk; d1 = d0 + ed[p].len;
            q0.i 
= j; q0.g = d1; z.push(q0);
        }
    }
}
void pri()
{
    printf(
"%d\n", res);
}
int main()
{
    init();
    prepare();
    solve();
    pri();
    
return 0;
}


Mato_No1 2011-05-01 15:25 鍙戣〃璇勮
]]>
RQNOJ P89錛孌LX閲嶅瑕嗙洊鈥︹︾粓浜嶢C浜?/title><link>http://www.shnenglu.com/MatoNo1/archive/2011/04/12/144071.html</link><dc:creator>Mato_No1</dc:creator><author>Mato_No1</author><pubDate>Tue, 12 Apr 2011 14:27:00 GMT</pubDate><guid>http://www.shnenglu.com/MatoNo1/archive/2011/04/12/144071.html</guid><wfw:comment>http://www.shnenglu.com/MatoNo1/comments/144071.html</wfw:comment><comments>http://www.shnenglu.com/MatoNo1/archive/2011/04/12/144071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/MatoNo1/comments/commentRss/144071.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/MatoNo1/services/trackbacks/144071.html</trackback:ping><description><![CDATA[<p>鏀句簡(jiǎn)蹇?涓湀浜?#8230;…錛堝噯紜潵璇存斁浜?騫翠簡(jiǎn)錛屾湰娌欒尪浠?騫村墠灝卞紑濮嬫崏榪欓亾鐚ョ悙棰?#8230;…錛?br>DLX閲嶅瑕嗙洊鐨勫嚑鐐硅鏄庯細(xì)<br>錛?錛夊繀欏繪湁鍚彂鍑芥暟浼樺寲錛屽惁鍒橳LE錛?br>錛?錛変笉闇瑕佷簩鍒嗕笅鐣岋紝鍙灝嗙洰鍓峟鍊鹼紙f=g+h錛屽嵆瀹為檯娣卞害鍔犱笂鍚彂鍑芥暟鍊鹼級(jí)涓庣洰鍓嶆眰寰楃殑鏈浼樿В姣旇緝鍗沖彲錛宖>=鏈浼樿В鍗沖壀鏋濓紱<br>錛?錛夊垹涓鏁村垪錛坉elcol錛夋搷浣滄椂錛屽彲浠ヤ粠浠繪剰涓涓粨鐐瑰紑濮嬪垹錛堜笉涓瀹氳鍚戠簿紜鐩栭偅鏍烽潪瑕佷粠鍒楀ご寮濮嬶級(jí)錛屼絾鏄紝寮濮嬬殑閭d釜緇撶偣涓嶅垹錛佹仮澶嶏紙resucol錛夋椂涔熶笉鎭㈠寮濮嬬殑閭d釜緇撶偣錛佽繖鏄負(fù)浜?jiǎn)鍦ㄦ帴涓嬫潵鐨勬í鍚戦亶鍘嗕腑涓嶅彈濯?jiǎng)鍝嶃傜敱浜庝笉鍒犲紑濮嬬粨鐐癸紝鎵浠ュ湪灝嗘渶浼樺垪鍒犻櫎鏃訛紝闇瑕佸驚鐜竴嬈″垹闄や竴嬈★紝鎭㈠涓嬈°?br><br>浠g爜錛氾紙RQNOJ P89錛?/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%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br>#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000"> std;<br></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> re(i, n) for (int i=0; i<n; i++)</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> re1(i, n) for (int i=1; i<=n; i++)</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> re3(i, l, r) for (int i=l; i<=r; i++)</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> MAXN </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">61</span><span style="COLOR: #000000">, MAXM </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">61</span><span style="COLOR: #000000">, INF </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">0U</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">>></span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000"> DLnode {<br>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> r, c, U, D, L, R;<br>} d[MAXN </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> MAXM];<br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n, m, nodes, rowh[MAXN], cols[MAXM], res </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> INF;<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> init_d()<br>{<br>    re3(i, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, m) {<br>        d[i].r </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; d[i].c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; d[i].U </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].D </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i; d[i].L </span><span style="COLOR: #000000">=</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">; d[i].R </span><span style="COLOR: #000000">=</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">;<br>    }<br>    d[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> m; d[m].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br>    memset(rowh, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, n </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">); memset(cols, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, m </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">); nodes </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> m </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> add_node(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> r, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> c)<br>{<br>    d[nodes].r </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> r; d[nodes].c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> c; d[nodes].U </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[c].U; d[nodes].D </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> c; d[c].U </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> nodes; d[d[nodes].U].D </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> nodes;<br>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> rh </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> rowh[r];<br>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (rh) {<br>        d[nodes].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[rh].L; d[nodes].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> rh; d[rh].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> nodes; d[d[nodes].L].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> nodes;<br>    } </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> d[nodes].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[nodes].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> rowh[r] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> nodes;<br>    cols[c]</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">; nodes</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> init()<br>{<br>    scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">m, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">n);<br>    init_d();<br>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k, x;<br>    re1(i, n) {<br>        scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">k);<br>        re(j, k) {<br>            scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">x); add_node(i, x);<br>        }<br>    }<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> delUD(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br>{<br>    d[d[x].U].D </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[x].D; d[d[x].D].U </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[x].U;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> resuUD(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br>{<br>    d[d[x].U].D </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[d[x].D].U </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> x;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> delLR(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br>{<br>    d[d[x].L].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[x].R; d[d[x].R].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[x].L;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> resuLR(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x)<br>{<br>    d[d[x].L].R </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[d[x].R].L </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> x;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> delcol(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> c)<br>{<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[c].D; i </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> c; i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].D) delLR(i);<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> resucol(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> c)<br>{<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[c].U; i </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> c; i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].U) resuLR(i);<br>}<br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> h()<br>{<br>    </span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> vst[MAXM]; memset(vst, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, m </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> z </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].R; i; i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].R) </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">vst[i]) {<br>        vst[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">; z</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br>        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[i].D; j </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> i; j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[j].D) </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[j].R; k </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> j; k </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[k].R) vst[d[k].c] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br>    }<br>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> z;<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> dfs(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> v)<br>{<br>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (v </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> h() </span><span style="COLOR: #000000">>=</span><span style="COLOR: #000000"> res) </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;<br>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">d[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].R) {res </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> v; </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">;}<br>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> min </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> INF, x;<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].R; i; i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].R) </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (cols[i] </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> min) {min </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> cols[i]; x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i;}<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[x].D; i </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> x; i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[i].D) {<br>        delcol(i);<br>        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[i].R; j </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> i; j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[j].R) delcol(j);<br>        dfs(v </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d[i].L; j </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> i; j </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> d[j].L) resucol(j);<br>        resucol(i);<br>    }<br>}<br></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> pri()<br>{<br>    printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, res);<br>}<br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br>{<br>    init();<br>    dfs(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br>     pri();<br>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br>}<br></span></div> <br>鎬葷粨錛欴LX綺劇‘瑕嗙洊鍜岄噸澶嶈鐩栧叾瀹炴槸鏈夊ぇ鐢ㄧ殑錛屽緢澶氭悳绱㈤棶棰橀兘鍙互杞寲涓鴻繖涓ょ闂錛屾晥鐜囧楂樻棤姣旓紝涓斿啓璧鋒潵涔熷緢瀹規(guī)槗錛堝彧鏄湪寤烘ā鐨勬椂鍊欏彲鑳芥湁鐐圭尌鐞愶紝涓嬮潰鐨勬ā鏉匡紝鍜岀綉緇滄祦涓鏍鳳紝10min鐨勪簨錛夛紝鑷充簬NOIP2009寮曞嚭鐨勬暟鐙郴鍒楅棶棰橈紝綺劇‘瑕嗙洊鍙互鐩存帴縐掓潃銆?br> <img src ="http://www.shnenglu.com/MatoNo1/aggbug/144071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/MatoNo1/" target="_blank">Mato_No1</a> 2011-04-12 22:27 <a href="http://www.shnenglu.com/MatoNo1/archive/2011/04/12/144071.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://3233328.com" target="_blank">国产视频亚洲精品</a>| <a href="http://3dmh329.com" target="_blank">性欧美超级视频</a>| <a href="http://041935.com" target="_blank">国产精品高潮呻吟久久av无限</a>| <a href="http://zqx186.com" target="_blank">午夜精品久久久久久久男人的天堂</a>| <a href="http://44368com.com" target="_blank">免费在线欧美黄色</a>| <a href="http://taominze.com" target="_blank">久久精品30</a>| <a href="http://www55747.com" target="_blank">亚洲欧美日韩精品</a>| <a href="http://520taose.com" target="_blank">日韩亚洲综合在线</a>| <a href="http://jobmrleehxx.com" target="_blank">亚洲国产成人porn</a>| <a href="http://wwwavtb1122.com" target="_blank">一区二区三区我不卡</a>| <a href="http://342889.com" target="_blank">国产欧美在线看</a>| <a href="http://pinyuanad.com" target="_blank">国产精品久久中文</a>| <a href="http://4080sy.com" target="_blank">欧美婷婷六月丁香综合色</a>| <a href="http://xss521.com" target="_blank">欧美成人亚洲</a>| <a href="http://fengboll.com" target="_blank">久久久欧美精品</a>| <a href="http://sxhrdyb.com" target="_blank">欧美中文字幕视频在线观看</a>| <a href="http://www-876810.com" target="_blank">亚洲一级高清</a>| <a href="http://jnjpsm.com" target="_blank">亚洲深夜福利网站</a>| <a href="http://66666556.com" target="_blank">一区二区三区欧美视频</a>| <a href="http://1323123.com" target="_blank">亚洲乱码视频</a>| <a href="http://clwjbcxs.com" target="_blank">亚洲美女在线看</a>| <a href="http://eee88888.com" target="_blank">日韩视频在线免费</a>| <a href="http://118017.com" target="_blank">亚洲乱码精品一二三四区日韩在线 </a>| <a href="http://jiuzuifusheng.com" target="_blank">亚洲伊人色欲综合网</a>| <a href="http://9y1111.com" target="_blank">日韩午夜在线电影</a>| <a href="http://989p.com" target="_blank">日韩亚洲欧美一区二区三区</a>| <a href="http://mom8888.com" target="_blank">亚洲另类自拍</a>| <a href="http://htzhuanli.com" target="_blank">日韩亚洲欧美在线观看</a>| <a href="http://jisuyswang.com" target="_blank">99re6热在线精品视频播放速度</a>| <a href="http://luobu520.com" target="_blank">亚洲黄色片网站</a>| <a href="http://xiuren2021.com" target="_blank">亚洲国产欧美一区二区三区同亚洲 </a>| <a href="http://q731.com" target="_blank">亚洲欧美在线一区</a>| <a href="http://yp889.com" target="_blank">亚洲免费在线电影</a>| <a href="http://337795.com" target="_blank">午夜久久一区</a>| <a href="http://dailymailnepal.com" target="_blank">欧美一区视频</a>| <a href="http://remenkan.com" target="_blank">久久久久久亚洲综合影院红桃</a>| <a href="http://lusaier.com" target="_blank">久久精品日韩一区二区三区</a>| <a href="http://syntheticnets.com" target="_blank">久久精品网址</a>| <a href="http://mmmm57.com" target="_blank">麻豆国产精品777777在线</a>| <a href="http://044925.com" target="_blank">欧美大胆人体视频</a>| <a href="http://budanbao.com" target="_blank">亚洲黄色有码视频</a>| <a href="http://ckk755.com" target="_blank">亚洲理论电影网</a>| <a href="http://8xxjj.com" target="_blank">亚洲一区三区电影在线观看</a>| <a href="http://elpezomaha.com" target="_blank">亚洲欧美一区二区原创</a>| <a href="http://yw9677.com" target="_blank">亚洲手机视频</a>| <a href="http://hicao32.com" target="_blank">亚洲精品偷拍</a>| <a href="http://1390744.com" target="_blank">欧美mv日韩mv亚洲</a>| <a href="http://sdhanm.com" target="_blank">亚洲二区精品</a>| <a href="http://cnbluebox.com" target="_blank">日韩午夜av在线</a>| <a href="http://3bmmtv.com" target="_blank">亚洲一区在线视频</a>| <a href="http://leohacks.com" target="_blank">欧美在线观看一区</a>| <a href="http://621762.com" target="_blank">久久中文精品</a>| <a href="http://h7yy.com" target="_blank">欧美日韩麻豆</a>| <a href="http://nebnb89.com" target="_blank">国产精品呻吟</a>| <a href="http://710952.com" target="_blank">国产一区二区av</a>| <a href="http://xvideoav99.com" target="_blank">亚洲电影免费观看高清</a>| <a href="http://2015xiaomingkankan.com" target="_blank">亚洲精品人人</a>| <a href="http://749996.com" target="_blank">午夜视黄欧洲亚洲</a>| <a href="http://52sougou.com" target="_blank">久久综合一区</a>| <a href="http://91x8.com" target="_blank">亚洲毛片一区</a>| <a href="http://www-333304.com" target="_blank">午夜精品视频在线观看一区二区</a>| <a href="http://mmmm26.com" target="_blank">久久久久久综合</a>| <a href="http://www-78733.com" target="_blank">欧美日本亚洲</a>| <a href="http://jorhom.com" target="_blank">国模精品一区二区三区</a>| <a href="http://9797690.com" target="_blank">亚洲日本va午夜在线电影</a>| <a href="http://nztd20.com" target="_blank">在线综合欧美</a>| <a href="http://305838.com" target="_blank">毛片一区二区</a>| <a href="http://www-699603.com" target="_blank">99精品国产热久久91蜜凸</a>| <a href="http://551692.com" target="_blank">欧美一级二级三级蜜桃</a>| <a href="http://spidermanseo.com" target="_blank">蜜桃av噜噜一区二区三区</a>| <a href="http://1616mz.com" target="_blank">欧美视频在线一区二区三区</a>| <a href="http://hbdfgq.com" target="_blank">国产自产精品</a>| <a href="http://htzhuanli.com" target="_blank">一区二区激情</a>| <a href="http://www11108b.com" target="_blank">久久久天天操</a>| <a href="http://854277.com" target="_blank">亚洲美女黄色</a>| <a href="http://4545www.com" target="_blank">久久精品一区蜜桃臀影院</a>| <a href="http://119552.com" target="_blank">欧美日韩国产探花</a>| <a href="http://0359222.com" target="_blank">狠狠色香婷婷久久亚洲精品</a>| <a href="http://hkbsi.com" target="_blank">日韩午夜高潮</a>| <a href="http://www-216678.com" target="_blank">久久视频国产精品免费视频在线</a>| <a href="http://4466777.com" target="_blank">最新国产成人在线观看</a>| <a href="http://kaijiepharm.com" target="_blank">欧美一级午夜免费电影</a>| <a href="http://srojsy.com" target="_blank">欧美日本韩国一区二区三区</a>| <a href="http://7345jj.com" target="_blank">精品成人国产</a>| <a href="http://nebnb89.com" target="_blank">亚洲欧美在线观看</a>| <a href="http://yjjs20.com" target="_blank">亚洲黄色成人久久久</a>| <a href="http://110673.com" target="_blank">欧美中文字幕在线</a>| <a href="http://51winner.com" target="_blank">国产精品激情偷乱一区二区∴</a>| <a href="http://dlwansheng.com" target="_blank">在线免费观看一区二区三区</a>| <a href="http://aydsrmyy.com" target="_blank">亚洲欧美日韩精品一区二区</a>| <a href="http://www-440450.com" target="_blank">亚洲第一色中文字幕</a>| <a href="http://yy0754.com" target="_blank">欧美一级艳片视频免费观看</a>| <a href="http://9966k.com" target="_blank">欧美午夜理伦三级在线观看</a>| <a href="http://as777as.com" target="_blank">亚洲国产天堂久久综合网</a>| <a href="http://92y5.com" target="_blank">久久精品官网</a>| <a href="http://m-pisiwa.com" target="_blank">一区二区三区日韩欧美精品</a>| <a href="http://www9797abc.com" target="_blank">媚黑女一区二区</a>| <a href="http://musicshq.com" target="_blank">国外成人在线</a>| <a href="http://yjdm296.com" target="_blank">亚洲一区免费网站</a>| <a href="http://fdgkinetic.com" target="_blank">最新亚洲电影</a>| <a href="http://099idc.com" target="_blank">久久综合色影院</a>| <a href="http://www47067.com" target="_blank">国产亚洲激情视频在线</a>| <a href="http://608u.com" target="_blank">亚洲欧美乱综合</a>| <a href="http://www-477499.com" target="_blank">亚洲人成亚洲人成在线观看</a>| <a href="http://wwwmy77757.com" target="_blank">久久久久久久网站</a>| <a href="http://by4425.com" target="_blank">国产日韩欧美在线播放</a>| <a href="http://566805.com" target="_blank">亚洲少妇诱惑</a>| <a href="http://xissy.com" target="_blank">91久久亚洲</a>| <a href="http://4923cc.com" target="_blank">欧美成人精品一区二区三区</a>| <a href="http://739191g.com" target="_blank">一色屋精品视频免费看</a>| <a href="http://666cmc.com" target="_blank">欧美淫片网站</a>| <a href="http://6k7a.com" target="_blank">亚洲一二三区在线观看</a>| <a href="http://91keshi.com" target="_blank">欧美日韩一区在线观看</a>| <a href="http://www068hs.com" target="_blank">亚洲毛片在线观看</a>| <a href="http://xfrlyy.com" target="_blank">欧美韩日一区二区</a>| <a href="http://xuduoshu.com" target="_blank">久久这里只有精品视频首页</a>| <a href="http://ooonefteprompellets.com" target="_blank">国产日韩欧美不卡</a>| <a href="http://qq666qq.com" target="_blank">欧美自拍偷拍</a>| <a href="http://6133c.com" target="_blank">亚洲欧美日韩网</a>| <a href="http://www25sds.com" target="_blank">国产精品嫩草99a</a>| <a href="http://2502255.com" target="_blank">亚洲伊人第一页</a>| <a href="http://62san.com" target="_blank">中国日韩欧美久久久久久久久</a>| <a href="http://4446666.com" target="_blank">欧美精品乱人伦久久久久久</a>| <a href="http://jizzdo.com" target="_blank">亚洲国产另类久久精品</a>| <a href="http://syruili.com" target="_blank">噜噜噜在线观看免费视频日韩</a>| <a href="http://hzhzzz.com" target="_blank">午夜日韩在线观看</a>| <a href="http://baluka-tw.com" target="_blank">国产麻豆成人精品</a>| <a href="http://sdmsjd.com" target="_blank">欧美伊久线香蕉线新在线</a>| <a href="http://by71222.com" target="_blank">亚洲欧美激情诱惑</a>| <a href="http://787622.com" target="_blank">国产精品三级视频</a>| <a href="http://495177.com" target="_blank">欧美影院视频</a>| <a href="http://cca22.com" target="_blank">小处雏高清一区二区三区</a>| <a href="http://zyjzz.com" target="_blank">国产精品羞羞答答</a>| <a href="http://pgpg520.com" target="_blank">久久国产精品网站</a>| <a href="http://ywbst8g4tukcsqhioikc.com" target="_blank">午夜精品美女久久久久av福利</a>| <a href="http://488f.com" target="_blank">国产精品美女999</a>| <a href="http://8880850.com" target="_blank">亚洲欧美国产三级</a>| <a href="http://4254888.com" target="_blank">久久久久久久国产</a>| <a href="http://cqrebo.com" target="_blank">久久久www成人免费毛片麻豆</a>| <a href="http://saox28.com" target="_blank">国产中文一区</a>| <a href="http://569658.com" target="_blank">卡一卡二国产精品</a>| <a href="http://gelaimeiwedding.com" target="_blank">久久成人一区二区</a>| <a href="http://0755hqr.com" target="_blank">精品999成人</a>| <a href="http://9113i.com" target="_blank">免费日韩成人</a>| <a href="http://www979vv.com" target="_blank">久久综合给合久久狠狠色</a>| <a href="http://ganmabook.com" target="_blank">亚洲第一久久影院</a>| <a href="http://480192.com" target="_blank">欧美韩日视频</a>| <a href="http://ww9494.com" target="_blank">欧美日韩精品在线</a>| <a href="http://6688zf.com" target="_blank">午夜精品久久久久久久久久久久</a>| <a href="http://92ebook.com" target="_blank">亚洲一级黄色</a>| <a href="http://www297777.com" target="_blank">韩国成人精品a∨在线观看</a>| <a href="http://hnautos.com" target="_blank">免费看成人av</a>| <a href="http://xianqyd.com" target="_blank">欧美成人高清视频</a>| <a href="http://3c3c3c.com" target="_blank">国产精品99久久久久久有的能看</a>| <a href="http://wlhtgj.com" target="_blank">中文成人激情娱乐网</a>| <a href="http://660507jj.com" target="_blank">国产日产欧美一区</a>| <a href="http://4008305555.com" target="_blank">免费91麻豆精品国产自产在线观看</a>| <a href="http://13501680.com" target="_blank">久热re这里精品视频在线6</a>| <a href="http://yeepey.com" target="_blank">亚洲精品乱码久久久久</a>| <a href="http://jm-comic3.com" target="_blank">亚洲精品女人</a>| <a href="http://850cn.com" target="_blank">欧美三区在线视频</a>| <a href="http://2323nn.com" target="_blank">欧美一区二区精品</a>| <a href="http://91mdtv.com" target="_blank">久久久久久国产精品mv</a>| <a href="http://hhhh19.com" target="_blank">亚洲日韩欧美视频一区</a>| <a href="http://3dprintingferuima.com" target="_blank">亚洲久色影视</a>| <a href="http://quanfadq.com" target="_blank">国产日韩在线亚洲字幕中文</a>| <a href="http://889028.com" target="_blank">你懂的成人av</a>| <a href="http://aijiaoji.com" target="_blank">欧美日韩一卡</a>| <a href="http://hg4958.com" target="_blank">久久精品国产清高在天天线</a>| <a href="http://jlkcjz.com" target="_blank">久久人人爽人人</a>| <a href="http://www0505nn.com" target="_blank">一本久道综合久久精品</a>| <a href="http://8181777.com" target="_blank">亚洲无限乱码一二三四麻</a>| <a href="http://birhit.com" target="_blank">国内免费精品永久在线视频</a>| <a href="http://211186.com" target="_blank">亚洲二区三区四区</a>| <a href="http://405151.com" target="_blank">欧美日韩国产另类不卡</a>| <a href="http://5553303.com" target="_blank">亚洲一区二区日本</a>| <a href="http://xy3977.com" target="_blank">欧美在线精品免播放器视频</a>| <a href="http://yyypdq.com" target="_blank">亚洲人精品午夜</a>| <a href="http://xmt86.com" target="_blank">午夜精品一区二区三区电影天堂</a>| <a href="http://noeljgq.com" target="_blank">在线观看福利一区</a>| <a href="http://vpay1314.com" target="_blank">亚洲精品视频中文字幕</a>| <a href="http://6399128.com" target="_blank">国产日韩精品一区观看</a>| <a href="http://bkksd.com" target="_blank">亚洲国产精品成人</a>| <a href="http://wwwen41.com" target="_blank">国产精品你懂的在线欣赏</a>| <a href="http://65kf.com" target="_blank">欧美成人有码</a>| <a href="http://sishengnv.com" target="_blank">欧美四级电影网站</a>| <a href="http://01xxtv.com" target="_blank">久久婷婷综合激情</a>| <a href="http://http456446.com" target="_blank">欧美日韩亚洲一区二</a>| <a href="http://8xyxs1.com" target="_blank">久久视频国产精品免费视频在线 </a>| <a href="http://xindefalv.com" target="_blank">欧美日韩人人澡狠狠躁视频</a>| <a href="http://414794.com" target="_blank">欧美亚洲视频一区二区</a>| <a href="http://993934.com" target="_blank">久久久国产精品亚洲一区 </a>| <a href="http://xyyssa.com" target="_blank">欧美激情精品久久久久久黑人</a>| <a href="http://97seee.com" target="_blank">亚洲综合精品一区二区</a>| <a href="http://bkf23.com" target="_blank">久久久久久久精</a>| <a href="http://080177.com" target="_blank">亚洲欧美日韩综合国产aⅴ</a>| <a href="http://3644688.com" target="_blank">久久精品成人</a>| <a href="http://aijiaoji.com" target="_blank">亚洲一区二区欧美日韩</a>| <a href="http://ad377.com" target="_blank">久久久福利视频</a>| <a href="http://youminwang.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>