博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3038 How Many Answers Are Wrong【带权并查集】
阅读量:4488 次
发布时间:2019-06-08

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

带权并查集,设f[x]为x的父亲,s[x]为sum[x]-sum[fx],路径压缩的时候记得改s

#include
#include
using namespace std;const int N=200005;int n,m,s[N],f[N],ans;int read(){ int r=0,f=1; char p=getchar(); while(p>'9'||p<'0') { if(p=='-') f=-1; p=getchar(); } while(p>='0'&&p<='9') { r=r*10+p-48; p=getchar(); } return r*f;}int zhao(int x){ if(f[x]==x) return x; int nw=zhao(f[x]); s[x]+=s[f[x]]; return f[x]=nw;}int main(){ while(~scanf("%d%d",&n,&m)) { for(int i=0;i<=n;i++) f[i]=i,s[i]=0; ans=0; while(m--) { int x=read()-1,y=read(),z=read(),fx=zhao(x),fy=zhao(y); if(fx!=fy) { f[fy]=fx; s[fy]=s[x]-s[y]+z; } else if(s[y]-s[x]!=z) ans++; } printf("%d\n",ans); } return 0;}

转载于:https://www.cnblogs.com/lokiii/p/9967984.html

你可能感兴趣的文章
floodlight make the VMs can not getDHCP IP address
查看>>
利用unittest+ddt进行接口测试(二):使用yaml文件管理测试数据
查看>>
11 个创新的网站滑动效果设计案例展示
查看>>
BZOJ4675
查看>>
闭包、循环setTimeout、立即执行函数
查看>>
linux之cut用法
查看>>
DataNucleus之JDO操作演示样例
查看>>
XML解析
查看>>
《Python编程从入门到实践》学习笔记7(第8章:函数)
查看>>
EXT核心API详解(二)-Array/Date/Function/Number/String
查看>>
Java自动计算表格某一数字列的和(2)
查看>>
详解2进制,10进制,16进制,8进制,36进制
查看>>
TCP header
查看>>
调查问卷Html5发展综述
查看>>
iPad 3g版完美实现打电话功能(phoneitipad破解)
查看>>
数据结构与算法之递推算法 C++与PHP实现
查看>>
VB连接Mysql数据库
查看>>
UOJ356 [JOI2017春季合宿] Port Facility 【启发式合并】【堆】【并查集】
查看>>
CSS实现背景透明,文字不透明(各浏览器兼容)
查看>>
JZOJ 3055. 【NOIP2012模拟10.27】比赛
查看>>