洛谷 P3478 [POI2008]STA-Station(bzoj P1131 [POI2008]STA-Station)
来源:互联网 发布:java项目开发流程图 编辑:程序博客网 时间:2024/05/22 05:38
传送门
这题必须要吐槽!!!
首先树形dp先求以1为根的深度和,然后由父亲节点转移到儿子节点,也就是除了儿子节点以下包括儿子节点的其他节点深度减1,儿子节点以下包括儿子节点的其他节点深度加一(画个图很容易看出,实在不行看popoqqq的博客,解释的很清楚),然后o(1)转移。状态转移方程:f[x]=f[fa[x]]+n-2*son[x],son[x]就是x节点包括自己的所有儿子节点个数,fa[x]就是x节点的父亲。
然后就是吐槽!!!:首先要卡long long,wa两发,然后注意存图数组开两倍,因为树无向,re两发,最后最令人气愤的是有多个节点最大要输出编号最小的那个!!神tm英文题面没看就看了看中文题面然后他又不说。。然后无限wa!!!垃圾题目!!
代码:
#include<iostream>#include<stdio.h>using namespace std;const int Maxn=1000005;struct node{int v;int next;}t[2*Maxn];int head[Maxn*2],deep[Maxn*2],son[Maxn*2];long long maxn,f[Maxn*2];int cnt,n,maxi=1;int Insert(int u,int v){cnt++;t[cnt].v=v;t[cnt].next=head[u];head[u]=cnt;}int dfs_deep(int u,int d){f[1]+=d;deep[u]=d;for(int i=head[u];i;i=t[i].next)if(deep[t[i].v]==0&&t[i].v!=1)son[u]+=dfs_deep(t[i].v,d+1);return son[u];}void dfs_f(int u){for(int i=head[u];i;i=t[i].next)if(f[t[i].v]==0){f[t[i].v]=f[u]+(n-son[t[i].v])-son[t[i].v];dfs_f(t[i].v);}} int main(){int u,v;scanf("%d",&n);for(int i=1;i<=n-1;i++){scanf("%d%d",&u,&v);Insert(u,v);Insert(v,u);}for(int i=1;i<=n;i++)son[i]=1;dfs_deep(1,0);maxn=f[1];dfs_f(1);for(int i=1;i<=n;i++)if(maxn<f[i]){maxi=i;maxn=f[i];}printf("%d",maxi);return 0;}
阅读全文
0 0
- 洛谷 P3478 [POI2008]STA-Station(bzoj P1131 [POI2008]STA-Station)
- 【BZOJ】【P1131】【POI2008】【Sta】【题解】【dfs+bfs】
- 【Luogu3478】【POI2008】STA-Station(动态规划)
- bzoj 1131: [POI2008]Sta
- BZOJ 1131 [POI2008]Sta
- bzoj 1131 [POI2008]Sta
- BZOJ 1131: [POI2008]Sta
- [POI2008]Sta
- 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
- 【BZOJ】1131 [POI2008]Sta 递推
- bzoj 1131: [POI2008]Sta(DPS)
- [BZOJ1131] [POI2008]Sta
- 【POI2008】【BZOJ1131】Sta
- python虚拟环境
- java中的组合关系
- 【Dubbo分布式服务框架】5.传统测试工程的搭建1
- (27)模块方法模式(理解抽象、继承和final)
- 安卓开发点击CheckBox显示明文密码
- 洛谷 P3478 [POI2008]STA-Station(bzoj P1131 [POI2008]STA-Station)
- 杂项
- 计算机位运算
- java并发编程实战-基础构建模块3
- C 语言返璞归真: 指针篇番外
- EJB到底是什么?
- 用户注册
- sklearn.linear_model.LinearRegression
- PYTHON数据分析入门