【带权并查集】BZOJ1202(HNOI2005)[狡猾的商人]题解
来源:互联网 发布:女明星 瘦 知乎 编辑:程序博客网 时间:2024/05/17 01:25
题目概述
调查一位商人的账本,账本上记录了
解题报告
带权并查集套路题,每次多出来一条信息
示例程序
QAQ果断偷懒,这是以前写的pascal代码。
var t,n,m,i:longint; father,sum:array[0..105] of longint; can:boolean; procedure init; var i:longint; begin readln(n,m); end; function get(x:longint):longint; var fa:longint; begin if father[x]=x then exit(x); fa:=father[x]; father[x]:=get(father[x]); inc(sum[x],sum[fa]); exit(father[x]); end; procedure main; var i,x,y,fx,fy,tot:longint; begin can:=true; for i:=0 to n do begin father[i]:=i;sum[i]:=0; end; for i:=1 to m do begin readln(x,y,tot); if not can then continue; fx:=get(x-1); fy:=get(y); if fx<>fy then begin father[fx]:=fy; sum[fx]:=sum[y]-sum[x-1]-tot; end else if sum[y]-sum[x-1]<>tot then can:=false; end; end; procedure print; begin if can then writeln('true') else writeln('false'); end;begin assign(input,'program.in');reset(input); assign(output,'program.out');rewrite(output); readln(t); for i:=1 to t do begin init; main; print; end; close(input);close(output);end.
阅读全文
0 0
- bzoj1202 [HNOI2005]狡猾的商人 (带权并查集)
- 【带权并查集】BZOJ1202(HNOI2005)[狡猾的商人]题解
- bzoj1202: [HNOI2005]狡猾的商人(带权并查集)
- [BZOJ1202][HNOI2005][并查集]狡猾的商人
- 【BZOJ1202】【HNOI2005】狡猾的商人 并查集
- BZOJ1202 [HNOI2005]狡猾的商人(并查集)
- 【bzoj1202】 HNOI2005狡猾的商人 并查集
- BZOJ1202: [HNOI2005]狡猾的商人 并查集
- [bzoj1202][HNOI2005]狡猾的商人[并查集]
- BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
- bzoj1202 狡猾的商人(带权并查集)
- 1202: [HNOI2005]狡猾的商人 带权并查集
- 1202: [HNOI2005]狡猾的商人 带权并查集
- [HNOI2005]狡猾的商人 带权并查集
- bzoj1202 狡猾的商人[并查集]
- [bzoj1202][并查集]狡猾的商人
- [BZOJ1202]HNOI2005 狡猾的商人|并查集|差分约束
- [BZOJ1202][HNOI2005]狡猾的商人(并查集+前缀和)
- json学习总结
- Dynamic Routing Between Capsules
- 装tensorflow
- ubuntu 16.04 VSCode 配置C++开发环境
- 基于EasyNVR+EasyDSS二次开发实现业务需求:直接使用播放页面
- 【带权并查集】BZOJ1202(HNOI2005)[狡猾的商人]题解
- 算法训练 数对
- 点分治
- centos7下部署配置solr-4.10.3
- HDU 1231 最大连续子序列
- RetroFit模版
- jdbc驱动的四种类型
- Python的exec()函数引发c语言的面向对象
- C++中map和set的使用与区别