博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1703 Find them, Catch them
阅读量:6572 次
发布时间:2019-06-24

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

题目大意:有两个帮派,命令D a b表示a,b两人不在同一个帮派里,动态询问两个人是不是在同一个帮派。

并查集。d[x]=0 or 1 表示x是否与根节点在同一帮派。碰到D a b 就合并,同时d[fa]:=(d[a]+d[b]+1) mod 2.

路径压缩的时候维护一下就好了,方法如下。

1 function find(x:longint):longint;2   var fa:longint;3   begin4     fa:=f[x];5     if f[x]=0 then exit(x);6     f[x]:=find(f[x]);7     d[x]:=(d[x]+d[fa])mod 2;8     exit(f[x]);9   end;

code:

1 var 2   f,d:Array[1..100000]of longint; 3   tt,ttt,i,p,q,a,b,n,m:longint; 4   c,space:char; 5 function find(x:longint):longint; 6   var fa:longint; 7   begin 8     fa:=f[x]; 9     if f[x]=0 then exit(x);10     f[x]:=find(f[x]);11     d[x]:=(d[x]+d[fa])mod 2;12     exit(f[x]);13   end;14 15 begin16 readln(tt);17 for ttt:=1 to tt do18   begin19   fillchar(f,sizeof(f),0);20   fillchar(d,sizeof(d),0);21   readln(n,m);22   for i:=1 to m do23     begin24     readln(c,space,a,b);25     if c='A' then26       begin27       p:=find(a);28       q:=find(b);29       if p<>q then writeln('Not sure yet.')30       else31         if d[a]<>d[b] then writeln('In different gangs.')32         else writeln('In the same gang.');33       end;34     if c='D' then35       begin36       p:=find(a);37       q:=find(b);38       if p<>q then39         begin40         f[p]:=q;41         d[p]:=(d[a]+d[b]+1) mod 2;42         end;43       end;44     end;45     end;46 end.
View Code

 

 

转载于:https://www.cnblogs.com/lbz007oi/p/3403413.html

你可能感兴趣的文章
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
从JDK源码角度看Short
查看>>
解密Angular WebWorker Renderer (二)
查看>>
parceljs 中文文档24小时诞生记
查看>>
五年 Web 开发者 star 的 github 整理说明
查看>>
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
ReactNative字体大小不随系统字体大小变化而变化
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
为什么中台是传统企业数字化转型的关键?
查看>>
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
从pandas到geopandas
查看>>
用express搭建网站
查看>>
如何在 Swift 中进行错误处理
查看>>
[Leetcode] Factor Combinations 因数组合
查看>>
用tinypng插件创建gulp task压缩图片
查看>>
BetaMeow----利用机器学习做五子棋AI
查看>>
APM终端用户体验监控分析(下)
查看>>
React Native 0.20官方入门教程
查看>>