FZU 2195 检查站点【带权并查集】
来源:互联网 发布:java中时间格式 编辑:程序博客网 时间:2024/05/16 16:19
检查站点
如果1有多个子节点的话,我们下山之后一定会要上山,但是最后一次下山不需要上山、所以我们这里让最后一次下山的权值最大即可。
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<climits>#include<string>#include<queue>#include<stack>#include<algorithm>using namespace std;#define rep(i,j,k)for(i=j;i<k;i++)#define per(i,j,k)for(i=j;i>k;i--)#define MS(x,y)memset(x,y,sizeof(x))typedef long long LL;const int INF =0x7FFFFFFF;const int M=1e5+1;int pre[M],sum[M];int i,j,k,n,m,t;int num ,maxn;int f(int x){ if(x!=pre[x]){ int t=pre[x]; pre[x]=f(pre[x]); sum[x]+=sum[t]; } return pre[x];}int main(){ while(~scanf("%d",&n)) { num=0; rep(i,0,n+1) pre[i]=i; MS(sum,0); rep(i,1,n){ int x,y,d; scanf("%d %d %d",&x,&y,&d); int fx=f(x),fy=f(y); if(fy!=fx){ pre[fy]=fx; sum[fy]=d+sum[x]; } num+=d; } sort(sum,sum+n+1); printf("%d\n",num-sum[n]); } return 0;}注:sort排序区间[a,b).
0 0
- FZU 2195 检查站点【带权并查集】
- FZU 2195 检查站点【带权并查集】
- FZU 2195 检查站点(并查集或者树)
- FZU 2195 检查站点(并查集)
- 【FZU 2195】检查站点
- FZU 2195 检查站点
- fzu 2195 检查站点
- FZU-2195 检查站点
- fzu 2195 检查站点
- 【带删除并查集】FZU 2155——盟国
- FZU - 2155 - 盟国 (带删除的并查集~~)
- FZU 2195 检查站点(数学啊)
- FZU 2195 检查站点 (树形dp)
- FZU 2195 检查站点 (树形dp)
- FZU 检查站点
- FZU -2233 (并查集)
- 并查集--带权
- 带权并查集
- HDU 2091 空心三角形
- Foundation框架中的NSDictionary 、NSMutableDictionary
- SpringMVC配置几种方式
- 三分钟搞定安卓+iOS适配问题
- BroadcastReceiver 中的onReceiver()方法执行多次的完美结局方案
- FZU 2195 检查站点【带权并查集】
- C语言中的void * 指针类型
- hdu 1074 Doing Homework 状压dp
- Html元素及属性
- HDU 5695 Gym Class【拓扑排序+优先队列】
- HDU 5739 点-双联通分量
- CSU(ACM入门)1340 A Sample Problem 1341 String and Arrays 1342 Double 1343 Long Long 1344 Special Judge
- POJ 3255【次短路】
- NOJ 1651 Red packet(二分)