[BZOJ1131][POI2008]Sta(树形dp+维护)
来源:互联网 发布:男网络歌手好听的歌曲 编辑:程序博客网 时间:2024/06/04 20:00
题目:
我是超链接
题解:
和我今天做的某道题有点像?
好吧简直一样呢,就当练手啦(结果练了好久发现手残。。。与longlong元素有关(加减乘)的都要设成longlong
代码:
#include <cstdio>#include <iostream>#include <cstring>#define N 1000005#define LL long longusing namespace std;int tot,nxt[N*2],point[N],v[N*2],ans;LL maxx,h[N],size[N];void addline(int x,int y){ ++tot; nxt[tot]=point[x]; point[x]=tot; v[tot]=y; ++tot; nxt[tot]=point[y]; point[y]=tot; v[tot]=x;}void dfs(int x,int fa){ h[x]=h[fa]+1;maxx+=h[x];size[x]=1; for (int i=point[x];i;i=nxt[i]) if (v[i]!=fa) { dfs(v[i],x); size[x]+=size[v[i]]; }}void answer(int x,int fa,LL cost){ for (int i=point[x];i;i=nxt[i]) if (v[i]!=fa) { LL t=cost-size[v[i]]+(size[1]-size[v[i]]); if ((t>maxx)||(t==maxx && v[i]<ans)) maxx=t,ans=v[i]; answer(v[i],x,t); }}int main(){ int n,i,z; scanf("%d",&n); for (i=1;i<n;i++) { int x,y; scanf("%d%d",&x,&y); addline(x,y); } dfs(1,0);ans=1; answer(1,0,maxx); printf("%d",ans);}
阅读全文
1 0
- [BZOJ1131][POI2008]Sta(树形dp+维护)
- [BZOJ1131][POI2008]Sta(树形dp+维护)
- bzoj1131: [POI2008]Sta 树形dp
- bzoj1131 [POI2008]Sta 树形DP
- [bzoj1131][POI2008]Sta(树上dp)
- BZOJ1131 [POI2008]Sta 树DP
- bzoj 1131: [POI2008]Sta(树形DP)
- [BZOJ1131] [POI2008]Sta
- 【POI2008】【BZOJ1131】Sta
- 【BZOJ1131】[POI2008]Sta【TreeDP】
- 【bzoj1131】 [POI2008]Sta
- [bzoj1131][POI2008]Sta
- BZOJ1131 [POI2008]Sta
- bzoj1131: [POI2008]Sta
- 【bzoj1131】[POI2008]Sta
- BZOJ 1131 POI2008 Sta 树形DP
- BZOJ 1131 POI2008 Sta 树形DP
- BZOJ 1131 [POI2008]Sta 树形DP
- Eclipse+Maven创建webapp项目<一>
- LinkedBlockingQueue 与PriorityQueue -- JAVA 基础
- 494. Target Sum(M)
- [设计模式]动态代理模式
- (双重循环之)c语言回顾之冒泡排序
- [BZOJ1131][POI2008]Sta(树形dp+维护)
- Color the fence
- 双系统安装 windows10 ubuntu17.04server版本
- Rythm.js 使用教程详解
- 单调栈+树状数组——51nod1249 近似有序区间
- ubuntu16.04&&GPU下的pyenv&&Anaconda&&tensorflow-gpu-1.2.0的安装和使用
- 破解密码,营救模式,初识脚本
- jquery实现主页广告隐藏显示
- sublime text 使用