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

算法學(xué)社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0

題目描述:

   一顆有N個(gè)節(jié)點(diǎn)(N<2,500)的帶權(quán)樹(shù)。現(xiàn)在割去一條邊,加到其他節(jié)點(diǎn)上,并保證也是一棵樹(shù)。問(wèn)最小的直徑是多少?

算法分析:

    枚舉每條邊。樹(shù)形DP求出割掉這條邊后,每個(gè)節(jié)點(diǎn)可以到的最遠(yuǎn)距離。
    樹(shù)形DP是萬(wàn)能的!!!!
#include<iostream>
#include<cstdio>
using namespace std;
// build graph
const int V = 2500 + 5;
const int E = V*2;
int head[V], nxt[E], pnt[E], cost[E], e, n;
void add(int u,int v,int c){
    pnt[e] = v; cost[e] = c;
    nxt[e] = head[u]; head[u] = e; e++;
}
// tree dp
const int inf = ~0u>>2;
int mx[V], sd[V];
void dfs(int u,int f){
    mx[u]= 0; 
    sd[u] = 0;
    for(int i = head[u]; i!=-1; i=nxt[i]) {
        int v = pnt[i];
        if(v == f) continue;
        dfs(v,u);
        if(cost[i] + mx[v] > mx[u]) {
            sd[u] = mx[u];
            mx[u] = cost[i] + mx[v];
        }
        else if(cost[i] + mx[v] > sd[u])
            sd[u] = cost[i] + mx[v];
    }
}
int temp, flag;
void dfs1(int u,int f) {
//    cout<<"u: "<<u<<" "<<mx[u]<<" "<<sd[u]<<endl;
    if(mx[u] < temp) temp = mx[u];
    if(mx[u] > flag) flag = mx[u];
    for(int i = head[u]; i!=-1; i=nxt[i]) {
        int v = pnt[i];
        if(v == f) continue;
//        cout<<"v: "<<v<<" "<<mx[v]<<endl;
        if(mx[v] + cost[i] < mx[u])
            mx[v] = mx[u] + cost[i];
        else if(cost[i] + sd[u] > mx[v]){
            mx[v] = cost[i] + sd[u];
        }
        else if(cost[i] + sd[u] > sd[v]){
            sd[v] = cost[i] + sd[u];
        }
        dfs1(v,u);
    }
}
// main
int main(){
    int test;
    scanf("%d", &test);
    for(int _ = 1; _ <= test; _ ++){
        scanf("%d",&n);
        int u,v,c;
        //init
        for(int i=0;i<n;i++) head[i] = -1;
        e = 0;
        // input
        for(int i=1;i<n;i++) {
            scanf("%d%d%d",&u,&v,&c);
            add(u,v,c);
            add(v,u,c);
        }
        int ans = inf;
        for(int i=0;i<e;i+=2){
            int u = pnt[i], v = pnt[i^1], mn = cost[i], mx1, mx2;
            temp = inf;
            flag = 0;
            dfs(u,v); dfs1(u,v);
            mn += temp;
            mx1 = flag;
//            cout<<temp<<endl;
            temp = inf;
            flag = 0;
            dfs(v,u); dfs1(v,u);
            mn += temp;
            mx2 = flag;
            mn = max(max(mx1,mx2),mn);
//            cout<<temp<<endl;
            if(mn < ans) ans = mn; 
        }
        printf("Case %d: %d\n",_,ans);
    }
}
posted on 2012-07-29 14:57 西月弦 閱讀(253) 評(píng)論(3)  編輯 收藏 引用

FeedBack:
# re: hdu 3721 樹(shù)形DP
2012-07-31 09:56 | wuyiqi
你是怎么描述切掉一條邊,補(bǔ)到另外兩個(gè)點(diǎn)上的,沒(méi)看懂
  回復(fù)  更多評(píng)論
  
# re: hdu 3721 樹(shù)形DP
2012-07-31 20:05 | 西月弦
@wuyiqi
比如我要割掉邊(u,v),那么我就對(duì)以u(píng)為根的子樹(shù)和以v為根的子樹(shù)分別搜索并樹(shù)形dp,且保證不通過(guò)(u,v)。
那么新的樹(shù)的直徑要么是子樹(shù)u的直徑,要么是子樹(shù)v的直徑。要么是u的最小dp值 + v的最小dp值加(u,v)邊權(quán)。

ps: 你們多校怎么那么猛。。。 Orz....  回復(fù)  更多評(píng)論
  
# re: hdu 3721 樹(shù)形DP
2012-08-01 23:05 | wu
@西月弦
懂了。
我們一隊(duì)比較強(qiáng)吧,這兩次好像都在前10,我的隊(duì)不是很穩(wěn)定
  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产一区二区视频在线观看| 久久人人97超碰国产公开结果 | 今天的高清视频免费播放成人| 久久久亚洲午夜电影| 日韩亚洲一区二区| 亚洲电影视频在线| 久久久综合激的五月天| 亚洲欧美日韩中文视频| 日韩视频在线免费| 亚洲欧美色一区| 亚洲视频香蕉人妖| 亚洲欧美亚洲| 久久亚洲国产精品日日av夜夜| 欧美在线精品一区| 噜噜噜在线观看免费视频日韩| 久热精品视频在线免费观看| 老司机aⅴ在线精品导航| 欧美国产视频日韩| 日韩亚洲精品在线| 亚洲午夜精品久久| 久久国产精品99久久久久久老狼| 一区二区三区日韩| 9色精品在线| 久热精品视频在线观看| 亚洲欧洲精品一区二区三区不卡 | 欧美激情按摩| 国产精品视频网站| 亚洲国产精品成人精品| 一区二区三区免费网站| 久久久久久成人| 久久一区激情| 欧美亚洲网站| 欧美午夜片在线免费观看| 国产精品日韩欧美一区二区| 亚洲国产高清视频| 欧美在线观看视频一区二区三区 | 欧美区在线观看| 国产综合欧美| 久久久久久穴| 欧美在线视频免费| 国产丝袜一区二区| 久久精品亚洲乱码伦伦中文| 亚洲天堂av图片| 国产日韩欧美自拍| 久久久国产精品一区二区三区| 国产精品99久久久久久久久久久久 | 亚洲国产美女久久久久| 欧美一区二区成人| 国产一区日韩欧美| 蜜桃精品一区二区三区 | 欧美va天堂va视频va在线| 亚洲欧美日韩精品久久奇米色影视| 欧美激情欧美激情在线五月| 亚洲日本在线观看| 野花国产精品入口| 韩国成人精品a∨在线观看| 欧美不卡视频一区| 国产精品久久精品日日| 久久久久成人精品免费播放动漫| 欧美一区二区免费观在线| 在线观看日韩av先锋影音电影院| 欧美韩国日本综合| 国产日本欧美视频| 亚洲人成网站色ww在线| 国产在线观看一区| 一区二区三区四区五区精品视频| 国产精品免费电影| 亚洲精品一区中文| 精品动漫一区| 亚洲特级毛片| 亚洲一区在线观看视频| 免费美女久久99| 欧美成人精品在线视频| 国产精品久久毛片a| 亚洲最新合集| 亚洲午夜视频| 欧美日韩国语| 一区二区三区欧美在线| 9人人澡人人爽人人精品| 免费国产自线拍一欧美视频| 亚洲欧美久久久| 久久精品国亚洲| 欧美专区日韩视频| 一卡二卡3卡四卡高清精品视频| 亚洲在线播放电影| 亚洲一区二区三区777| 欧美日韩亚洲视频| 亚洲午夜91| 久久国产精品99精品国产| 国产乱码精品一区二区三区不卡| 亚洲已满18点击进入久久| 亚洲专区国产精品| 亚洲午夜激情网站| 欧美亚一区二区| 久久电影一区| 欧美激情精品久久久久久变态| 亚洲精品在线一区二区| 国产精品qvod| 欧美成人情趣视频| 亚洲综合色婷婷| 亚洲国产欧美在线 | 午夜精品美女久久久久av福利| 亚洲视频久久| 在线观看日韩| 国产人妖伪娘一区91| 欧美日韩国产页| 久久精品91久久久久久再现| 亚洲九九精品| 亚洲国产精品第一区二区| 性欧美1819sex性高清| 亚洲乱码精品一二三四区日韩在线| 国产精品主播| 国产精品嫩草99av在线| 欧美日韩视频在线第一区| 久久只精品国产| 亚洲精品美女在线观看| 狠狠色狠狠色综合人人| 国产精品日韩在线一区| 国产精品久久久久7777婷婷| 欧美mv日韩mv亚洲| 美女脱光内衣内裤视频久久影院 | 亚洲男人的天堂在线| 日韩亚洲欧美高清| 亚洲精选视频免费看| 亚洲精品国产品国语在线app| 欧美国产综合一区二区| 亚洲国产精品国自产拍av秋霞| 免费观看成人网| 亚洲免费精彩视频| 一本色道久久88综合日韩精品| 一本大道av伊人久久综合| 在线天堂一区av电影| 欧美在线一二三四区| 久久精品国产亚洲5555| 乱中年女人伦av一区二区| 欧美人与性动交a欧美精品| 欧美四级电影网站| 国产一区二区三区久久久久久久久| 在线观看欧美日韩| 亚洲婷婷综合色高清在线| 欧美一区二区三区男人的天堂| 欧美高清视频在线播放| 日韩视频在线一区二区| 午夜精品久久久久久久久久久久久| 久久久91精品国产一区二区三区 | 欧美不卡三区| 国产精品久久夜| 亚洲毛片视频| 久久综合给合| 亚洲香蕉成视频在线观看| 亚洲欧美成人精品| 亚洲三级免费观看| 久久久7777| 国内一区二区三区在线视频| 亚洲伦理中文字幕| 亚洲成色www8888| 久久久久久999| 亚洲第一网站免费视频| 久久久久久久久一区二区| 一区二区三区四区五区视频 | 亚洲精品国产精品久久清纯直播| 亚洲永久免费av| 国产欧美日韩综合| 欧美在线精品一区| 久久久久久色| 亚洲欧洲精品一区| 亚洲人成亚洲人成在线观看| 欧美成人资源网| 午夜宅男久久久| 久久精品盗摄| 亚洲国产成人久久综合| 亚洲激情成人在线| 国产精品成人免费视频| 欧美一区午夜精品| 麻豆久久久9性大片| 在线亚洲免费| 久久久久久久久久码影片| 日韩视频在线观看免费| 亚洲一区欧美二区| 91久久久亚洲精品| 亚洲欧美综合精品久久成人| 亚洲国产免费| 久久天堂精品| 欧美一级久久久久久久大片| 久久一本综合频道| 亚洲午夜未删减在线观看| 欧美一二三区精品| 一区二区黄色| 亚洲视频欧美在线| 免费观看成人www动漫视频| 亚洲一二三区视频在线观看| 久久五月天婷婷| 久久亚洲精品一区二区| 欧美成人性生活| 国产一区二区精品久久99| 99这里只有久久精品视频| 一本色道久久| 欧美激情a∨在线视频播放| 麻豆精品91| 日韩亚洲欧美综合|