P2294 [HNOI2005]狡猾的商人(带权并查集+前缀和)
P2294 [HNOI2005]狡猾的商人
解题思路:这里用带权并查集记录每个节点与自己祖先的距离。如果两个点没有相同的祖先,那么需要把这两个集合合并起来,用已经的点确定p点到q的距离,num[p] = num[t]-w-num[s];这个很重要。如果两个点有共同的祖先,那么判断一下两个点之间的距离是不是w就可以了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=1e3+5;int f[N];
int num[N];int Find(int x){if(f[x] == x) return x;int t = Find(f[x]);num[x] += num[f[x]];f[x] = t;return f[x];
}
void solve(){int n,m,flag = 0;scanf("%d%d",&n,&m);for(int i = 0;i <= n;i++){f[i] = i;num[i] = 0;}while(m--){int s,t,w;scanf("%d%d%d",&s,&t,&w);s--;int p = Find(s),q = Find(t);if(p != q){f[p] = q;num[p] = num[t]-w-num[s];}else if(num[t]-num[s] != w){flag = 1;}}if(flag) {puts("false");}else {puts("true");}
}int main(){int t;scanf("%d",&t);while(t--){solve();}return 0;
}
P2294 [HNOI2005]狡猾的商人(带权并查集+前缀和)相关推荐
- P2294 [HNOI2005]狡猾的商人 带权并查集
顺便回顾下带权并查集. 在普通并查集的基础上维护一个d数组,表示权值. 这题d[i]表示当前节点x与其祖宗节点get(x), 的sm差值,即sm[x]-sm[get(x)] =d[x] 初始d均为0. ...
- [HNOI2005]狡猾的商人 带权并查集
给定m个区间和,问是否有矛盾 复习一下,带权并查集保存着这个元素与祖先的关系 在合并的过程中就像向量合并一样,可以画出x->fa[x],y->fa[y],x->y这样的图方便理解 这 ...
- 【无码专区9】序列统计(带权并查集 + 前缀和建边 + dp)
因为只有std,没有自我实现,所以是无码专区 主要是为了训练思维能力 solution才是dls正解,但是因为只有潦草几句,所以大部分会有我自己基于正解上面的算法实现过程,可能选择的算法跟std中dl ...
- P2294 [HNOI2005]狡猾的商人
P2294 [HNOI2005]狡猾的商人 题意: 你需要调查某个商人的账本,给你n个月内,m条账单信息,每条账单信息为x到y月的收入或者支出多少钱,问你根据账单信息判断这个账本是否合理 5 3 1 ...
- 洛谷 P2294 [HNOI2005]狡猾的商人
洛谷 P2294 [HNOI2005]狡猾的商人 题目: 有图·.转链接 题解: 差分约束. 虽然题目中没有出现不等式,但还是属于差分约束的范畴之内的. 一开始我就按照它的要求u到v加权值w的边.但发 ...
- 狡猾的商人(带权并查集)
刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i=1,2,3-n-1,n), .当 Ai大于0时表示这个月盈利A ...
- 洛谷P2294 [HNOI2005]狡猾的商人
一道差分约束. 但是我横看竖看, 只从字缝里看到了"并查集"三个大字. 很明显嘛, 什么判断真假, 什么前缀和关系传递, 不是明摆着的带权并查集吗? #include <cs ...
- BZOJ 1202-狡猾的商人(带权并查集)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3679 Solved: 1765 [Submit][S ...
- 2017乌鲁木齐区域赛I(带权并查集)
#include<bits/stdc++.h> using namespace std; int f[200010];//代表元 long long rl[200010];//记rl[i] ...
最新文章
- linux卸载rpm包
- window 日志清除
- linux下指数函数,用GeoGebra画指数函数图像、查看函数变化轨迹
- RIP(Routing Information Protocol)精析04
- JVM 调优实战--常用命令参数及PS收集器的GC日志格式
- python乐观锁和悲观锁
- .Net Core + 微信赋能企业级智能客服系统--学习笔记
- java实现订单物品计算佣金,java三角形、NextDay、佣金问题代码
- Vue只是JavaScript其中的一个框架
- 音标与字母发音不同的字母总结
- 学习Leader选举算法
- html5中的web storage的用法
- lammps教程:晶体建模之Atomsk方法(1)
- AG螺纹的螺套安装后反复脱出,怎么办?
- 如何助力鸿蒙发展,实话实说:华为以一已之力,能不能推动鸿蒙系统的发展 - 区块网...
- 如何管理好团队?史玉柱自述
- html5新年网页做给父母的,2020给父母的新年祝福语
- 动画(重点)~~~~~
- 电子元器件行业采购管理平台数字化采购,助力企业降本增效
- 什么是分布式数据存储