一道差分约束.

但是我横看竖看, 只从字缝里看到了"并查集"三个大字.

很明显嘛, 什么判断真假, 什么前缀和关系传递, 不是明摆着的带权并查集吗?

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 1e2 + 10;
const int MAXM = 1e3 + 10;int W, N, M;namespace ufs
{int fa[MAXM], d[MAXM];void init(){memset(d, 0, sizeof(d));for(int i = 0; i <= N; i++) fa[i] = i;}int findfa(int x){if(fa[x] == x) return x;int tmp = findfa(fa[x]);d[x] += d[fa[x]];return fa[x] = tmp;}inline bool unite(int u, int v, int c){if(u > v) swap(u, v);int x = findfa(u), y = findfa(v);if(x == y) return c == (d[u] - d[v]);if(x < y) {fa[x] = y, d[x] = d[v] + c - d[u];return true;} else{fa[y] = x, d[y] = d[u] - c - d[v];return true;}}
}int main()
{//freopen("p2294.in", "r", stdin);cin>>W;while(W--){cin>>N>>M;bool flag = true; ufs::init();for(int i = 1, u, v, c; i <= M; i++){scanf("%d%d%d", &u, &v, &c);if(!flag) continue;if(!ufs::unite(u - 1, v, c)) flag = false;}if(flag) puts("true");else puts("false");}return 0;
}

转载于:https://www.cnblogs.com/wsmrxc/p/9334649.html

洛谷P2294 [HNOI2005]狡猾的商人相关推荐

  1. 洛谷 P2294 [HNOI2005]狡猾的商人

    洛谷 P2294 [HNOI2005]狡猾的商人 题目: 有图·.转链接 题解: 差分约束. 虽然题目中没有出现不等式,但还是属于差分约束的范畴之内的. 一开始我就按照它的要求u到v加权值w的边.但发 ...

  2. P2294 [HNOI2005]狡猾的商人

    P2294 [HNOI2005]狡猾的商人 题意: 你需要调查某个商人的账本,给你n个月内,m条账单信息,每条账单信息为x到y月的收入或者支出多少钱,问你根据账单信息判断这个账本是否合理 5 3 1 ...

  3. P2294 [HNOI2005]狡猾的商人(带权并查集+前缀和)

    P2294 [HNOI2005]狡猾的商人 解题思路:这里用带权并查集记录每个节点与自己祖先的距离.如果两个点没有相同的祖先,那么需要把这两个集合合并起来,用已经的点确定p点到q的距离,num[p] ...

  4. P2294 [HNOI2005]狡猾的商人 带权并查集

    顺便回顾下带权并查集. 在普通并查集的基础上维护一个d数组,表示权值. 这题d[i]表示当前节点x与其祖宗节点get(x), 的sm差值,即sm[x]-sm[get(x)] =d[x] 初始d均为0. ...

  5. [HNOI2005]狡猾的商人(差分约束)

    P2294 [HNOI2005]狡猾的商人 (来自Luogu) 题目概述 数据规模: w,n,m <= 100 思路: 这个题的难点在于不好想到差分,转化:a-b=k是a-b>=k& ...

  6. 差分约束 [HNOI2005]狡猾的商人(洛谷 P2294)

    [HNOI2005]狡猾的商人 题目大意: n 个月,m 个约束条件,判断最终是否产生矛盾: 因为这里不是 xix_ixi​ <= yjy_jyj​ + ckc_kck​,而是 sumtsum_ ...

  7. 1202: [HNOI2005]狡猾的商人

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1554  Solved: 745 [Submit][St ...

  8. BZOJ1202 [HNOI2005]狡猾的商人 【并查集】

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4180  Solved: 2015 [Submit][S ...

  9. bzoj1202[HNOI2005]狡猾的商人

    bzoj1202[HNOI2005]狡猾的商人 题意: 账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai .所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和.给出m段时间内的总 ...

最新文章

  1. mysql游标嵌入式_Oracle与MySQL内嵌游标的使用示例
  2. SAP S/4HANA Cloud 系统集成的一些场景介绍
  3. 运维提效 60%,视野数科 SAE + Jenkins 打造云原生 DevOps
  4. linux系统下UTF-8转GBK编码,使用汉字字库在LCD显示汉字
  5. H5页面调起手机打电话功能
  6. 变量的存在意义和底层逻辑(《Java与Python学习通法》)
  7. dell服务器系统备份软件,使用 AlienRespawn 备份 Alienware 电脑的系统
  8. 论文第一部分写作总结(introduction)
  9. MPI 之 点对点通信的一个实例
  10. vue移动端实现excel在线预览
  11. 力扣(88.53)补8.31
  12. 转载 :make报错:/usr/bin/ld: cannot find -lXXX
  13. 活码二维码(动态二维码)素材库管理教程
  14. Python报错处理libpng warning: iCCP: cHRM chunk does not match sRGB
  15. 时序图和流程图的区别
  16. 瑞吉外卖【后台管理系统篇】
  17. 树莓派笔记01—35美元的Linux超级计算机
  18. 论文解读:SpellBERT:A Lightweight Pretrained Model for Chinese Spelling Checking
  19. RobotFramework实现键盘组合按键
  20. freefilesync数据同步

热门文章

  1. Watir数据驱动 - Excel
  2. watir是如何定位元素的
  3. Pete's Pantry
  4. 【CSS笔记】CSS选择器的优先级(权重)
  5. 极狐GitLab CI 月来袭!2小时 get CI 流水线设计秘籍
  6. C# WinForm 界面控件
  7. Life Situation Two
  8. 推荐的几本数学书【by DaHua Lin】
  9. 用PYTHON判断一个数是不是素数
  10. 30秒集结会议、能开“会中会” IMO班聊助力高效协同办公