青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評(píng)論 - 47, 引用 - 0
數(shù)據(jù)加載中……

POJ 3123 Ticket to Ride 高效解法

低效率解法在這里
低效率的解法是沒(méi)法通過(guò)POJ的數(shù)據(jù)的。
另外一個(gè)標(biāo)程中的解法十分給力,僅用時(shí)110ms(status上面還有用時(shí)16ms的)
首先來(lái)看一下這段程序:

#include <iostream>
#include 
<string>
#include 
<map>

using namespace std;

int main()
{
    
int INF=99999999,N,K,d[30][30],i,j,k,x,y,z,dp[256][30],e[8],v[30],c,b;
    
string s,t;    
    
while (cin >> N >> K && N) {
        map
<string,int> cityMap;
        
for(i=0;i<N;i++
            
for(j=0;j<N;j++
                d[i][j]
=i==j?0:INF;
        
for(i=0;i<N;i++) {
            cin 
>> s;
            cityMap[s]
=i;
        }
        
if (K)
            
while(cin >> s >> t >> z, x=cityMap[s], 
                    y
=cityMap[t], 
                    d[x][y]
=d[y][x]=min(d[y][x],z), --K);
        
for(k=0;k<N;k++)
            
for(i=0;i<N;i++)
                
for(j=0;j<N;j++)
                    d[i][j]
=min(d[i][j],d[i][k]+d[k][j]);
        
for(i=0;i<8;i++) {
            cin 
>> s;
            e[i]
=cityMap[s];
            
for(j=0;j<N;j++)
                dp[
1<<i][j]=d[j][e[i]];
        }        
        
for(i=1;i<256;i++) {
            
if (!(i&(i-1)))
                
continue;
            
// step1
            for(k=0;k<N;k++) {
                dp[i][k]
=INF;
                v[k]
=0;
                
for(j=1;j<i;j++)
                    
if ((i|j)==i)
                        dp[i][k]
=min(dp[i][k],dp[j][k]+dp[i-j][k]);
            }
            
// step2
            for(j=0;b=INF,j<N;j++) {
                
for(k=0;k<N;k++)
                    
if (dp[i][k]<=&& !v[k])
                        b
=dp[i][c=k];
                
for(k=0,v[c]=1;k<N;k++)
                    dp[i][c]
=min(dp[i][c],dp[i][k]+d[k][c]);
            }
        }
        
        
// step3
        for(i=0,b=INF;z=0,i<256;b=min(b,z),i++)
              
for(j=0;y=0,j<4;z+=!!y*dp[y][x],j++)
                
for(k=0;k<8;k+=2)
                      
if ((i>>k&3)==j)
                        y
+=3<<k,x=e[k];        
        
        cout 
<< b << endl;     
    }
    
return 0;
}

這段程序?qū)懙煤茏屓速M(fèi)解。花了半天時(shí)間我才搞明白。
實(shí)際上大體的思路是跟低效率的解法一樣的。
就是在求Minimal Steiner Tree這一步,它用了一種新的動(dòng)態(tài)規(guī)劃的方法。
動(dòng)態(tài)規(guī)劃的方程為:
dp[mask][i] = { 以點(diǎn)i為根,包含mask中的點(diǎn)的最小生成樹(shù)的權(quán)值 }

在得知 dp[mask - 1][1...N] 的情況下,如何推出 dp[mask][1...N] 呢?
程序中分為 step1 和 step2 兩個(gè)步驟。
step1 推出:
a = min{ dp[m1][i] + dp[m2][i] } 其中 m1|m2 = mask
這個(gè)很好理解。
step2 推出:
b = min{ dp[mask][j] + d[j][i] }
程序中每次都從 dp[mask][1...N] 中選出最小的一個(gè) dp[mask][c]
按這種順序更新就能保證結(jié)果的正確
因此 dp[mask][i] = min(a, b)

這個(gè)動(dòng)態(tài)規(guī)劃法的確牛逼。

step3則是枚舉4條路線(xiàn)的各種組合情況。求出每種組合的MST權(quán)值。

代碼寫(xiě)得很牛逼。看了半天才看懂。如果讓我寫(xiě),行數(shù)至少多出2,3倍來(lái)。。
老外就是牛逼,一行代碼都不浪費(fèi)。

posted on 2011-02-24 17:16 糯米 閱讀(2078) 評(píng)論(1)  編輯 收藏 引用 所屬分類(lèi): POJ

評(píng)論

# re: POJ 3123 Ticket to Ride 高效解法  回復(fù)  更多評(píng)論   

你好.我是從你的舊blog找過(guò)來(lái)的.原來(lái)的rfl的代碼鏈接http://gforge.osdn.net.cn/svn/rfl/

失效了.不知道哪里能找到代碼.
除了blog.怎樣才能聯(lián)系到你?
我的email: boxer#sina.cn
2011-03-15 17:22 | sudoers
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩直播| 日韩五码在线| 乱码第一页成人| 欧美大片在线观看一区| 亚洲综合99| 老司机精品久久| 亚洲综合视频网| 国产欧美一区二区白浆黑人| 蜜桃av综合| 国产精品伦一区| 欧美freesex8一10精品| 国产女主播一区| 久久久久9999亚洲精品| 午夜精品理论片| 欧美高清视频一区二区| 久久综合网络一区二区| 亚洲精品一区二| 欧美在线视频二区| 午夜精品电影| 亚洲大胆av| 久久激情五月婷婷| 久久精品女人天堂| 国产精品www色诱视频| 91久久夜色精品国产九色| 亚洲电影免费观看高清| 国产麻豆日韩欧美久久| 亚洲综合精品一区二区| 亚洲视频在线观看免费| 欧美日韩国产bt| 亚洲高清在线| 欧美亚洲日本国产| 欧美性大战久久久久久久蜜臀| 久久精品论坛| 亚洲夜晚福利在线观看| 亚洲图片欧美一区| 亚洲国产婷婷香蕉久久久久久99| 久久精品国产久精国产一老狼| 亚洲精选一区二区| 亚洲美女电影在线| 欧美日韩一区自拍| 亚洲亚洲精品三区日韩精品在线视频| 美日韩免费视频| 欧美亚洲免费高清在线观看| 日韩一级免费| 在线观看国产精品淫| 麻豆久久婷婷| 亚洲精品一区在线观看| 免费久久精品视频| 久久大逼视频| 伊人男人综合视频网| 国产精品国色综合久久| 亚洲男人天堂2024| 一本高清dvd不卡在线观看| 一本色道久久99精品综合| 国产精品成人观看视频免费| 欧美成人中文字幕| 裸体歌舞表演一区二区| 久久精品视频网| 欧美一区影院| 欧美一区久久| 亚洲伦理精品| 亚洲人成在线观看网站高清| 午夜精品成人在线| 亚洲一区精品电影| 亚洲深夜av| 亚洲视频自拍偷拍| 亚洲网站在线| 影音先锋亚洲视频| 精品盗摄一区二区三区| 欧美成人精品在线观看| 免费成人在线观看视频| 另类欧美日韩国产在线| 久久久噜噜噜久久久| 夜夜嗨av一区二区三区中文字幕 | 亚洲电影成人| 国产一区在线免费观看| 麻豆九一精品爱看视频在线观看免费| 久久成人羞羞网站| 久久精品国产91精品亚洲| 久久国内精品自在自线400部| 性久久久久久久久久久久| 亚洲国产精品一区二区www在线| 午夜欧美精品| 亚洲一区日韩在线| 亚洲欧美激情四射在线日| 国产精品不卡在线| 国产女优一区| 亚洲成人在线免费| 亚洲欧洲一区二区三区在线观看| 国产女精品视频网站免费| 国产午夜精品全部视频播放| 欧美午夜电影一区| 国产日本欧美一区二区三区在线| 国产午夜精品一区二区三区欧美 | 欧美福利专区| 欧美一区二区免费观在线| 99精品欧美一区二区蜜桃免费| 9色精品在线| 欧美中文字幕第一页| 浪潮色综合久久天堂| 亚洲欧洲在线观看| 亚洲一区日韩| 亚洲性感激情| 久久综合狠狠综合久久综合88| 欧美金8天国| 欧美成人亚洲成人| 欧美午夜在线| 亚洲电影在线观看| 国产欧美一区二区三区在线看蜜臀 | 欧美国产精品久久| 一区二区三区四区国产| 99视频国产精品免费观看| 亚洲欧美日韩网| 亚洲欧美另类在线| 久久久中精品2020中文| 欧美久久视频| 欧美日韩精品综合| 国内视频精品| 亚洲午夜一区二区| 女人香蕉久久**毛片精品| 一区二区日本视频| 美女成人午夜| 国产日本亚洲高清| 99综合电影在线视频| 久久综合婷婷| 亚洲专区在线| 欧美日韩另类视频| 亚洲电影天堂av| 久久xxxx| 一区二区三区成人精品| 美腿丝袜亚洲色图| 国产一区二区看久久| 韩国三级在线一区| 亚洲国产精品传媒在线观看| 亚洲欧美一区二区三区在线| 欧美激情在线| 一本色道久久综合精品竹菊| 毛片精品免费在线观看| 韩国在线视频一区| 欧美中文字幕视频| 亚洲深夜福利视频| 欧美一级欧美一级在线播放| 欧美日韩另类视频| 亚洲乱码国产乱码精品精98午夜| 六月天综合网| 久久成人免费网| 国产亚洲欧洲997久久综合| 亚洲天堂av综合网| 亚洲老板91色精品久久| 欧美成人免费全部观看天天性色| 国产一区二区三区无遮挡| 欧美一区精品| 亚洲欧美日韩电影| 国产精品亚洲美女av网站| 韩国自拍一区| 久久精品视频网| 午夜在线成人av| 国产欧美一区二区精品婷婷 | 亚洲综合国产激情另类一区| 亚洲精品中文字幕有码专区| 欧美激情一区二区三区成人| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲狠狠丁香婷婷综合久久久| 老司机亚洲精品| 久久综合狠狠| 亚洲精品久久久久久久久| 亚洲成色最大综合在线| 亚洲午夜精品一区二区三区他趣| 欧美日韩综合视频| 亚洲午夜激情| 午夜国产精品视频| 激情综合色综合久久| 女人色偷偷aa久久天堂| 免费成人高清| 宅男精品导航| 欧美mv日韩mv亚洲| 暖暖成人免费视频| 国产午夜精品视频免费不卡69堂| 久久精品九九| 免费观看日韩| 夜夜嗨av一区二区三区| 在线中文字幕不卡| 国产日韩精品一区二区三区在线| 久久深夜福利| 亚洲午夜视频在线| 国产一区二区三区av电影| 久久综合综合久久综合| 女人色偷偷aa久久天堂| 亚洲午夜av| 久久激情网站| 这里只有精品在线播放| 亚洲一区久久| 亚洲国产高清一区| 99av国产精品欲麻豆| 欧美黄色日本| 欧美一级在线视频| 看欧美日韩国产| 亚洲女与黑人做爰| 久久久精品国产一区二区三区| 亚洲日本理论电影|