日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

HDOJ树形DP专题之Centroid

發(fā)布時(shí)間:2023/12/3 综合教程 46 生活家
生活随笔 收集整理的這篇文章主要介紹了 HDOJ树形DP专题之Centroid 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接

這題跟Balance Act那題差不多,求圖的質(zhì)點(diǎn)。我直接將那題改了一下提交,結(jié)果PE了一次,又WA了一次,最后發(fā)現(xiàn)是單case,多case的提交為什么WA呢?

View Code

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <vector>
 4 #define N 16000
 5 #define MAX(a,b) ((a)>(b)?(a):(b))
 6 using namespace std;
 7 vector<int> g[N];
 8 int n,p[N],d[N],sum[N],w[N],dmax,ans[N],cnt;
 9 void dfs(int u,int fa)
10 {
11     int i,v;
12     d[u]=(fa==-1?0:d[fa]+1);
13     dmax=MAX(dmax,d[u]);
14     for(i=0; i<g[u].size(); i++)
15     {
16         v=g[u][i];
17         if(v!=fa) dfs(v,p[v]=u);
18     }
19 }
20 void dp()
21 {
22     int i,j;
23     memset(w,0,sizeof(w));
24     for(i=0; i<n; i++)  sum[i]=1;
25     for(i=dmax; i>=0; i--)
26     {
27         for(j=0; j<n; j++)
28         {
29             if(d[j]!=i) continue;
30             w[j]=MAX(w[j],n-sum[j]);
31             if(i>0) w[p[j]]=MAX(w[p[j]],sum[j]),sum[p[j]]+=sum[j];
32         }
33     }
34 }
35 int main()
36 {
37     int i,t,u,v,min;
38     scanf("%d",&n);
39     for(i=0; i<n; i++)  g[i].clear();
40     for(i=0; i<n-1; i++)
41     {
42         scanf("%d%d",&u,&v);
43         u--,v--;
44         g[u].push_back(v);
45         g[v].push_back(u);
46     }
47     dmax=0;
48     dfs(0,-1);
49     dp();
50     min=0x7fffffff;
51     cnt=0;
52     for(i=0; i<n; i++)
53     {
54         if(w[i]<min)  cnt=0,min=w[i],ans[cnt++]=i;
55         else if(w[i]==min)  ans[cnt++]=i;
56     }
57     printf("%d %d\n",min,cnt);
58     for(i=0; i<cnt-1; i++)  printf("%d ",ans[i]+1);
59     printf("%d",ans[cnt-1]+1);
60     return 0;
61 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/algorithms/archive/2012/05/02/2479673.html

總結(jié)

以上是生活随笔為你收集整理的HDOJ树形DP专题之Centroid的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。