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

posts - 43,  comments - 9,  trackbacks - 0
http://acm.hdu.edu.cn/showproblem.php?pid=3311

給定6個基礎點,和1000個輔助點,以及無向邊若干。
求一棵代價最小的生成子樹,使得6個基礎點連通。
http://en.wikipedia.org/wiki/Steiner_tree_problem

方法一:
狀態DP。
一棵樹,實際上可以看成是由兩棵子樹拼接而成,或者一棵樹擴展一條邊篩選。而要完整地表示一棵子樹,需要記錄它的根,和對6個基礎點的覆蓋狀態。
這樣求一棵大樹,可以枚舉接合點,以及兩個子樹的覆蓋狀態。
若dp[i][j],i表示接合點,j表示覆蓋狀態,那么dp[i][j]=min{dp[i][k]+dp[i][j^k]}。
直接擴展一條邊, 可以在保持j不變的情況下, 優先隊列廣搜, 大大降低復雜度.

方法二:
spfa。
dp[i][j]意義同上。一個點(i,j),對每個鄰接點i',枚舉那一頭的狀態j',然后用dp[i][j]+dp[i'][j']+way[i][i']去更新dp[i][j|j']和dp[i'][j|j']。

ps. topcoder srm 470 div1 level3是此題升級版.

??1?#include?<string>
??2?#include?<vector>
??3?#include?<list>
??4?#include?<map>
??5?#include?<queue>
??6?#include?<stack>
??7?#include?<set>
??8?#include?<iostream>
??9?#include?<sstream>
?10?#include?<numeric>
?11?#include?<algorithm>
?12?#include?<cmath>
?13?#include?<cctype>
?14?#include?<cstdlib>
?15?#include?<cstdio>
?16?#include?<cstring>
?17?using?namespace?std;
?18?
?19?#define?CLR(x)?memset((x),0,sizeof(x))
?20?#define?SET(x,y)?memset((x),(y),sizeof(x))
?21?#define?REP(i,x)?for(int?i=0;i<(x);i++)
?22?#define?FOR(i,x,y)?for(int?i=(x);i<(y);i++)
?23?#define?VI?vector<int>?
?24?#define?PB(i,x)?(i).push_back(x)
?25?#define?MP(x,y)?make_pair((x),(y))
?26?
?27?struct?EDGE{
?28?????int?v,e,d;
?29?}edg[20000];
?30?int?ecnt,?gg[1006];
?31?
?32?struct?HEAP{
?33?????int?v,d;
?34?????void?set(int?nv,?int?nd){v=nv;d=nd;}
?35?}hp[1006*(1<<6)*10];
?36?int?sz;
?37?bool?vis[1006];
?38?
?39?int?dp[1006][1<<6];
?40?int?N,?M,?P;
?41?
?42?bool?cmp(const?HEAP?&a,?const?HEAP?&b)
?43?{?return?a.d>b.d;?}
?44?
?45?void?addedge(int?u,?int?v,?int?d)
?46?{
?47?????edg[ecnt].v=v;?edg[ecnt].d=d;?edg[ecnt].e=gg[u];?gg[u]=ecnt++;
?48?????edg[ecnt].v=u;?edg[ecnt].d=d;?edg[ecnt].e=gg[v];?gg[v]=ecnt++;
?49?}
?50?
?51?int?steiner()
?52?{
?53?????int?up?=?1<<(N+1);
?54?????SET(dp,-1);
?55?????REP(i,N+1)?dp[i][1<<i]=0;
?56?????FOR(i,N+1,N+M+1)?dp[i][0]=0;
?57?????REP(i,up){
?58?????????REP(j,N+M+1){
?59?????????????for(int?k=i;?k>0;?k=(k-1)&i){
?60?????????????????if(dp[j][k]!=-1?&&?dp[j][i^k]!=-1)
?61?????????????????????if(dp[j][i]==-1?||?dp[j][i]>dp[j][k]+dp[j][i^k])
?62?????????????????????????dp[j][i]=dp[j][k]+dp[j][i^k];
?63?????????????}
?64?????????}
?65?????????sz=0;
?66?????????CLR(vis);
?67?????????REP(j,N+M+1)?if(dp[j][i]!=-1){
?68?????????????hp[sz++].set(j,dp[j][i]);
?69?????????????push_heap(hp,?hp+sz,?cmp);
?70?????????}
?71?????????while(sz){
?72?????????????int?now=hp[0].v;
?73?????????????pop_heap(hp,?hp+sz--,cmp);
?74?????????????if(vis[now])continue;
?75?????????????vis[now]=true;
?76?????????????for(int?e=gg[now];?~e;?e=edg[e].e){
?77?????????????????int?to=edg[e].v,?td=dp[now][i]+edg[e].d;
?78?????????????????if(dp[to][i]==-1?||?dp[to][i]>td){
?79?????????????????????dp[to][i]=td;
?80?????????????????????hp[sz++].set(to,td);
?81?????????????????????push_heap(hp,?hp+sz,?cmp);
?82?????????????????}
?83?????????????}
?84?????????}
?85?????}
?86?????return?dp[0][up-1];
?87?}
?88?
?89?int?main()
?90?{
?91?????while(~scanf("%d?%d?%d",?&N,?&M,?&P)){
?92?????????int?u,?v,?d;
?93?????????SET(gg,-1);?ecnt=0;
?94?????????REP(i,N+M){
?95?????????????scanf("%d",?&d);
?96?????????????addedge(0,i+1,?d);
?97?????????}
?98?????????REP(i,P){
?99?????????????scanf("%d?%d?%d",?&u,?&v,?&d);
100?????????????addedge(u,v,d);
101?????????}
102?????????int?ret=steiner();
103?????????printf("%d\n",?ret);
104?????}
105?????return?0;
106?}

posted on 2010-05-27 16:21 wolf5x 閱讀(606) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

"Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

留言簿(3)

隨筆分類(59)

隨筆檔案(43)

cows

搜索

  •  

最新評論

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美jizzhd精品欧美巨大免费| 男女精品网站| 欧美在现视频| 亚洲午夜一区二区三区| 久久精品国产精品亚洲精品| 欧美v亚洲v综合ⅴ国产v| 久久gogo国模裸体人体| 狠狠色综合播放一区二区| 欧美一区二区啪啪| 欧美国产亚洲另类动漫| 亚洲欧洲日产国产综合网| 欧美大片一区二区三区| 一本色道久久综合| 午夜精品久久久久久久99水蜜桃 | 99热这里只有精品8| 久久综合久久综合久久| 中文亚洲视频在线| 1024国产精品| 国产精品影院在线观看| 久久尤物电影视频在线观看| 亚洲精品乱码视频| 久久久www成人免费精品| 免费日韩视频| 亚洲在线观看| 久久久www成人免费无遮挡大片| 西西裸体人体做爰大胆久久久| 久久久久一本一区二区青青蜜月| 99国产精品久久久久久久成人热 | 一区二区高清| 久久精品国产99精品国产亚洲性色| 欧美sm视频| 国产精品欧美在线| 欧美国产先锋| 久久深夜福利免费观看| 欧美激情久久久久久| 亚洲人成亚洲人成在线观看图片| 最新中文字幕一区二区三区| 在线亚洲伦理| 亚洲欧洲日本一区二区三区| 亚洲欧美制服中文字幕| 久久成人久久爱| 亚洲国产精品久久久久秋霞蜜臀 | 午夜精品久久| 久久久久成人精品| 亚洲一区免费看| 欧美高清在线视频| 亚洲国产成人在线| 欧美国产精品中文字幕| 亚洲伊人色欲综合网| 99精品黄色片免费大全| 久久嫩草精品久久久精品一| 国产香蕉久久精品综合网| 国产欧美一区二区三区久久人妖| 欧美午夜精品久久久久久久| 欧美日韩在线一区| 欧美日韩日本视频| 国产精品萝li| 国产日韩精品久久| 亚洲夜间福利| 亚洲三级视频在线观看| 欧美黑人在线播放| 亚洲国产二区| 日韩亚洲一区在线播放| 欧美成人精品福利| 美女精品网站| 欧美日韩国产成人高清视频| 欧美日韩视频一区二区三区| 亚洲精品免费在线播放| 在线综合+亚洲+欧美中文字幕| 一区二区三区国产精华| 欧美剧在线观看| 久久婷婷国产综合国色天香| 国产日韩欧美一区| 亚洲一区二区免费视频| 日韩视频永久免费观看| 玖玖国产精品视频| 性色av一区二区三区| 久久精品一区二区三区中文字幕 | 欧美日韩一区视频| 亚洲精品视频在线| 欧美日韩视频在线第一区| 欧美一区二区三区视频在线| 亚洲黄色成人网| 久久久久欧美精品| 亚洲欧美色婷婷| 99热在线精品观看| 亚洲国内精品在线| 欧美日韩一区二区在线播放| 久久精品国产视频| 亚洲视频欧洲视频| 国产精品视频yy9299一区| 理论片一区二区在线| 欧美精品久久久久a| 欧美另类69精品久久久久9999| 亚洲国产毛片完整版| 亚洲新中文字幕| 亚洲欧美国产毛片在线| 欧美日韩一区二区在线视频 | 亚洲人午夜精品| 国产精品久99| 亚洲美女诱惑| 欧美激情精品久久久久久变态| 欧美国产亚洲精品久久久8v| 亚洲欧美在线观看| 免费亚洲一区二区| 欧美一级播放| 亚洲欧美国产不卡| 在线观看日韩www视频免费| 午夜精品久久久久99热蜜桃导演| 久久av红桃一区二区小说| 亚洲免费电影在线| 久久aⅴ乱码一区二区三区| 欧美高清在线视频观看不卡| 欧美有码在线视频| 午夜精品在线看| 亚洲欧洲久久| 欧美一区二区免费视频| 亚洲永久免费观看| 欧美大胆人体视频| 欧美国产91| 国模一区二区三区| 久久九九免费| 欧美日韩一区二区在线视频| 欧美不卡高清| 午夜一级在线看亚洲| 久久一区二区三区四区五区| 亚洲国产精品视频| 欧美一区二区在线| avtt综合网| 亚洲激情av在线| 欧美日韩国产成人高清视频| 毛片基地黄久久久久久天堂| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美一区二区三区的| 亚洲伦理一区| 欧美在线视频一区二区| 欧美日韩国产高清视频| 欧美成人在线免费观看| 亚洲高清自拍| 免费在线看成人av| 亚洲国产成人av| 亚洲国产精品综合| 欧美电影免费观看网站| 免费一区视频| 亚洲电影在线播放| 久久综合久色欧美综合狠狠| 久久综合亚州| 影音先锋久久精品| 蜜桃av一区二区三区| 亚洲国产精品一区二区www| 亚洲人成在线观看网站高清| 麻豆91精品| 最新亚洲激情| 欧美精品国产精品日韩精品| 亚洲成人在线视频播放 | 性色一区二区三区| 国产精品综合不卡av| 亚洲小说欧美另类婷婷| 国模 一区 二区 三区| 亚洲欧美日韩精品一区二区| 亚洲欧美影院| 国语自产精品视频在线看抢先版结局| 欧美一区二区三区四区在线观看地址| 久久九九电影| 亚洲免费观看高清完整版在线观看熊| 欧美日本一道本| 欧美在线91| 亚洲国产婷婷综合在线精品| 亚洲性xxxx| 激情成人综合| 国产亚洲欧洲一区高清在线观看| 国产性色一区二区| 午夜精品一区二区三区电影天堂 | 欧美精品久久天天躁| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 99国产精品99久久久久久| 欧美日韩一区精品| 久久精品日产第一区二区| 亚洲大片在线| 久久国产精品久久精品国产| 亚洲第一主播视频| 麻豆国产精品一区二区三区| 99精品视频一区| 免费欧美高清视频| 国产欧美精品| 欧美精品日日鲁夜夜添| 欧美一区二区三区免费观看| 亚洲国产日韩美| 久久久一二三| 久久大逼视频| 亚洲欧洲中文日韩久久av乱码| 国产日韩欧美夫妻视频在线观看| 欧美国产日韩一二三区| 欧美在线黄色| 亚洲图片在线| 久久久之久亚州精品露出| 亚洲综合色在线| 99视频精品免费观看| 亚洲人久久久| 在线看视频不卡|