BZOJ 1131 [POI2008]Sta 树形DP
来源:互联网 发布:特朗普 中美关系 知乎 编辑:程序博客网 时间:2024/05/17 08:05
题意:略
方法:裸树形DP。。
解析:
我今天做的怎么都是大水题- -!
明明有你不会的!
每个节点向下以及向上深度两边dfs就行辣。
式子还用列?- -
随便画个图yy就好了
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 1000100using namespace std;typedef long long ll;int n;int head[N],cnt;struct node{ int from,to,next;}edge[N<<1];ll siz[N],dow[N],upp[N],fa[N];void init(){ memset(head,-1,sizeof(head)); cnt=1;}void edgeadd(int from,int to){ edge[cnt].from=from,edge[cnt].to=to,edge[cnt].next=head[from]; head[from]=cnt++;}void dfs1(int now,int ff){ fa[now]=ff,siz[now]=1; for(int i=head[now];i!=-1;i=edge[i].next) { int to=edge[i].to; if(to==ff)continue; dfs1(to,now); siz[now]+=siz[to]; dow[now]+=dow[to]+siz[to]; }}void dfs2(int now){ if(now!=1) upp[now]=upp[fa[now]]+dow[fa[now]]-dow[now]-2ll*siz[now]+n; for(int i=head[now];i!=-1;i=edge[i].next) { int to=edge[i].to; if(to==fa[now])continue; dfs2(to); }}int main(){ init(); scanf("%d",&n); for(int i=1;i<n;i++) { int x,y; scanf("%d%d",&x,&y); edgeadd(x,y); edgeadd(y,x); } dfs1(1,0); dfs2(1); ll ans=0; int no; for(int i=1;i<=n;i++) { if(upp[i]+dow[i]>ans) { ans=upp[i]+dow[i]; no=i; } } printf("%d\n",no);}
0 0
- BZOJ 1131 POI2008 Sta 树形DP
- BZOJ 1131 POI2008 Sta 树形DP
- BZOJ 1131 [POI2008]Sta 树形DP
- bzoj 1131: [POI2008]Sta(树形DP)
- BZOJ 1131: [POI2008]Sta 树形DP
- bzoj 1131: [POI2008]Sta 树形dp
- luogu 3478 bzoj 1131 poi2008 sta 树形dp
- bzoj1131: [POI2008]Sta 树形dp
- bzoj1131 [POI2008]Sta 树形DP
- bzoj 1131: [POI2008]Sta
- BZOJ 1131 [POI2008]Sta
- bzoj 1131 [POI2008]Sta
- BZOJ 1131: [POI2008]Sta
- [BZOJ1131][POI2008]Sta(树形dp+维护)
- [BZOJ1131][POI2008]Sta(树形dp+维护)
- 【BZOJ】1131 [POI2008]Sta 递推
- bzoj 1131: [POI2008]Sta(DPS)
- BZOJ 1123 POI2008 BLO Tarjan+树形DP
- Android Fragment 真正的完全解析(上)
- HDU 1950 Bridging signals ( 枚举+DFS O(n2^n) )
- fgets函数
- MyEclipse不能编译的解决方案
- 自定义View-onMeasure()方法
- BZOJ 1131 [POI2008]Sta 树形DP
- soapui 自动化教程(三)
- 排序算法之归并排序
- JavaScript获取iframe的内容
- informix之一
- HDU 5437 Alisha’s Party(模拟)
- dfs与bfs
- 关于mysql中文乱码问题的解决
- Android 进程和线程