#include#include#includeusingnamespacestd;constintmaxn=100000+10;structnode{intto,dix,next;}tree[maxn<<1];inthead[ma" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

HDU 4118 樹形DP Holiday's Accommodation

系統 2120 0

題目鏈接:? HDU 4118 Holiday's Accommodation

分析: 可以知道每條邊要走的次數剛好的是這條邊兩端的點數的最小值的兩倍。

代碼:

?

    #include<iostream>

#include<cstdio>

#include<cstring>

#include<stack>

using namespace std;

const int maxn=100000+10;



struct node{

    int to, dix, next;

}tree[maxn<<1];

int head[maxn],g[maxn],ptr;

bool vis[maxn];



void Init(){

    ptr=1; 

    memset(vis,false,sizeof(vis));

    memset(head,-1,sizeof(head));

}

void AddEdge(int a,int b,int c){

    tree[ptr].to=b;

    tree[ptr].dix=c;

    tree[ptr].next=head[a];

    head[a]=ptr++;

}

void DFS(){

    vis[1]=true;

    stack<int>M;

    M.push(1);

    int rt=head[1];

    while(true){

        if(rt==-1){

            int a=M.top(); M.pop();

            if(M.empty()) break;

            g[M.top()]+=g[a];

        }

        rt=head[M.top()];

        while(rt!=-1){

            if(!vis[tree[rt].to]){

                vis[tree[rt].to]=true;

                M.push(tree[rt].to);

                break;

            }

            rt=tree[rt].next;

        }

    }

}

int main(){

    int T,cas=1;

    scanf("%d",&T);

    while(T--){

        Init();

        int n; scanf("%d",&n);

        for(int i=1;i<n;++i){

            int a,b,c;

            scanf("%d%d%d",&a,&b,&c);

            AddEdge(a,b,c);

            AddEdge(b,a,c);

            g[i]=1;

        }

        g[n]=1;

        DFS();

        __int64 ans=0;

        for(int i=1;i<ptr;i+=2){

            int m=min(g[tree[i].to],g[tree[i+1].to]);

            ans+=2*min(n-m,m)*(__int64)tree[i].dix;

        }

        printf("Case #%d: %I64d\n",cas++,ans);

    }

    return 0;

}




  


?


?

HDU 4118 樹形DP Holiday's Accommodation


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 狠狠操在线观看 | 写真福利 第 页 在线视频 | 神马影院午夜我不卡 | 国产成人精品久久综合 | 欧美一级片在线免费观看 | 精品国产一区二区麻豆 | 成年女人视频免费观看一 | 国产精品亚洲国产三区 | 欧美一级久久久久久久久大 | 男人的天堂一区二区视频在线观看 | 亚洲国产品综合人成综合网站 | 黄色影院在线观看 | 色图综合网 | 四虎影在永久地址在线观看 | 欧美伊人久久大香线蕉综合69 | 男女羞羞视频免费观看 | 国产综合精品久久久久成人影 | 国产69精品久久久久99不卡 | 九月丁香婷婷亚洲综合色 | 最新日本中文字幕 | 欧美日韩亚洲视频 | 青青草国产一区二区三区 | 国产福利视频一区美女 | 久久精品国产色蜜蜜麻豆 | 色姑娘天天操 | 日日摸夜夜夜夜夜添 | 综合久久久久久 | 孕妇xxxxxx孕交xxx | 69做爰视频在线观看 | 桃花视频www| sihu影院永久在线影院 | 高清不卡日本v在线二区 | 337p亚洲精品色噜噜狠狠 | 一级毛片成人免费看a | 九九久久99综合一区二区 | 天天做天天欢天天爽 | 在线播放日本爽快片 | 日韩一区二区三区在线 | 亚洲精品视频久久 | 久久综合久久精品 | 在线观看成人小视频 |