博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj4690: Never Wait for Weights
阅读量:4986 次
发布时间:2019-06-12

本文共 869 字,大约阅读时间需要 2 分钟。

一眼LCT什么鬼。。。

带权并查集瞎搞搞AC

#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;int fa[110000];LL d[110000];int findfa(int x){ if(fa[x]==x)return fa[x]; int FA=findfa(fa[x]); d[x]+=d[fa[x]];fa[x]=FA; return fa[x];}char ss[10];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0&&m==0)break; for(int i=1;i<=n;i++)fa[i]=i,d[i]=0LL; int x,y;LL c; for(int i=1;i<=m;i++) { scanf("%s",ss+1); if(ss[1]=='!') { scanf("%d%d%lld",&x,&y,&c); int fx=findfa(x),fy=findfa(y); if(fx!=fy) { d[fx]=d[y]+c-d[x]; fa[fx]=fy; } } else { scanf("%d%d",&x,&y); int fx=findfa(x),fy=findfa(y); if(fx!=fy)printf("UNKNOWN\n"); else printf("%lld\n",d[x]-d[y]); } } } return 0;}

 

 

转载于:https://www.cnblogs.com/AKCqhzdy/p/8795559.html

你可能感兴趣的文章
git在terminal中自动补全
查看>>
ASP.NET 后台页面无法识别服务器控件ID
查看>>
js关于变量作为if条件的真假问题
查看>>
WPF/Silverlight为什么要使用Canvas.SetLeft()这样的方法?
查看>>
Wireshark-win64-2.4.3
查看>>
《Unity游戏开发实战》pdf
查看>>
jsday24
查看>>
(二十)WebGIS中图层树功能的设计和实现
查看>>
ORA-10456:cannot open standby database;media recovery session may be in process
查看>>
session服务器Nginx+Tomcat+Memcached集群Session共享
查看>>
javascript的时间描述图怎么写
查看>>
Maximum Gap 164
查看>>
Robot Framework Share 4
查看>>
【LeetCode】155. Min Stack
查看>>
【LeetCode】214. Shortest Palindrome
查看>>
现有资源和jsapi的融合一种方式
查看>>
UICollectionViewController的简单使用及一些注意点(json)
查看>>
Vue.js 源码分析(十三) 基础篇 组件 props属性详解
查看>>
Ubuntu系统升级内核方法
查看>>
Spring Bean单例与线程安全
查看>>