P1955-[NOI2015]程序自动分析【并查集,离散化】

正题

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1955


题目大意

给出若干个关系,xixj   or   xi=xjxi≠xjorxi=xj,然后求是否全部都满足。


解题思路

首先由于数据较大,所以我们先离散化,然后用并查集。先处理所有等于的关系,然后不等于的再判断。


code

#include<cstdio>
#include<algorithm>
#define N 1000010
using namespace std;
struct node{int x,y,t;
}a[N];
int n,uniq[2*N],f[2*N],t;
bool cmp(node x,node y)
{return x.t>y.t;
}
int find(int x)
{if(f[x]!=x) return f[x]=find(f[x]);return x;
}
int main()
{scanf("%d",&t);for(int ti=1;ti<=t;ti++){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].t);uniq[i]=a[i].x;uniq[i+n]=a[i].y;}//以上为去重stable_sort(uniq+1,uniq+1+2*n);int m=unique(uniq+1,uniq+1+2*n)-(uniq+1);//以上为离散化for(int i=1;i<=m;i++) f[i]=i;//初始化并查集for(int i=1;i<=n;i++){a[i].x=lower_bound(uniq+1,uniq+1+m,a[i].x)-(uniq+1),a[i].y=lower_bound(uniq+1,uniq+1+m,a[i].y)-(uniq+1);}//以上为找到离散化之后的位置stable_sort(a+1,a+1+n,cmp);bool flag=0;for(int i=1;i<=n&&!flag;i++){int fa=find(a[i].x),fb=find(a[i].y);if(a[i].t) f[min(fa,fb)]=max(fa,fb);//链接else if(fa==fb) printf("NO\n"),flag=true;//判答案}if(!flag) printf("YES\n");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何理解事件溯源

在近期举行的PHPDublin见面会上&#xff0c;来自DynamicRes的架构师Barry Sullivan被问到“什么是事件溯源”&#xff0c;作为对这个问题的回答&#xff0c;他在博客上写下了这篇文章&#xff0c;详细解释了什么是事件溯源以及事件溯源有哪些好处。以下内容翻译自Barry的博客&a…

JavaFX键盘事件

一、键盘事件 KeyPressed 按键按压 KeyReleased 按键释放 KeyTyped 按键类型 二、用法 node.setOnXX(event->{//do something });node.addEventFilter(KeyEvent.XX, event -> {//do something});

java中日期处理的一些工具方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年4月16日15:35:14&#xff01;忙里偷闲&#xff0c;直接来看方法吧&#xff0c;写完文章继续去改Bug: 1.计算两个日期之间相差的天数 /*** param stratTime 开始时间* p…

POJ1456-Supermarket【并查集】

正题 题目链接:http://poj.org/problem?id1456 题目大意 有n个货物&#xff0c;有不同的过期时间&#xff0c;过期了就卖不掉了&#xff0c;每个物品卖掉有不同的价值&#xff0c;每天只能卖一个货物&#xff0c;求最大价值。 解题思路 我们可以先排序一下价值 我们用并查…

ASP.NET Core 运行原理解剖[5]:Authentication

在现代应用程序中&#xff0c;认证已不再是简单的将用户凭证保存在浏览器中&#xff0c;而要适应多种场景&#xff0c;如App&#xff0c;WebAPI&#xff0c;第三方登录等等。在 ASP.NET 4.x 时代的Windows认证和Forms认证已无法满足现代化的需求&#xff0c;因此在ASP.NET Core…

bladex自定义分页

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是2022年4月16日21:44:05&#xff01;今天分享一个代码段&#xff0c;个人觉得还是比较有参考性的。 后端使用框架&#xff1a;bladex前端使用技术&#xff1a;AVue功能:自定义分…

JavaFX滚动事件

一、滚动事件 SCROLL 滚动 SCROLL_STARTED 滚动开始 SCROLL_FINISHED 滚动结束 二、用法 node.setOnXX(event->{//do something });node.addEventFilter(ScrollEvent.XX, event -> {//do something});

bladex中自定义分页的写法~

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是2022年4月16日21:44:05&#xff01;今天分享一个代码段&#xff0c;个人觉得还是比较有参考性的。后端使用框架&#xff1a;bladex前端使用技术&#xff1a;AVue功能:自定义分…

POJ1733,jzoj1779-Parity game(奇偶游戏)【带权并查集,离散化】

正题 POJ题目链接:http://poj.org/problem?id1733 jzoj题目链接:https://jzoj.net/senior/#main/show/1779 题目大意 长度为ll的01串,n" role="presentation" style="position: relative;">nn个答案&#xff0c;表示一段区间内有偶数或奇数个…

OpenID Connect:OAuth 2.0协议之上的简单身份层

OpenID Connect是什么&#xff1f;OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇&#xff1a;OAuth 2.0 / RCF6749 协议解读)之上的简单身份层&#xff0c;用 API 进行身份交互的框架&#xff0c;允许客户端根据授权服务器的认证结果最终确认用户的身份&#x…

JavaFX触屏事件

一、Touch 接触 TOUCH_PRESSED 按压 TOUCH_MOVED 移动 TOUCH_RELEASED 释放 TOUCH_STATIONARY 长按 二、Scroll 滚动 SCROLL 滚动 SCROLL_STARTED 滚动开始 SCROLL_FINISHED 滚动结束 三、Swipe 单指滑动 SWIPE_LEFT 单指滑动向左 SWIPE_RIGHT 单指滑动向右…

P2014-选课【树形dp,背包】

正题 评测记录:https://www.luogu.org/problemnew/show/P2014 题目大意 有n门课程&#xff0c;每个课程有不同的学分和前修课&#xff0c;必须学了前修课才可以学这门。 只能修m门&#xff0c;求最大学分 解题思路 背包的思想&#xff0c;套一个树形dp。 code #include<…

JS的Date.setMonth()方法坑

一、场景复现 业务需求&#xff0c;查询时间需要设置为前一个月。 //辅助代码 Date.prototype.format function(fmt) { //author: meizz var o { "M" : this.getMonth()1, //月份 "d" : this.getDate(), …

一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系

我们知道&#xff0c;不同肤色的人外貌差别很大&#xff0c;而双胞胎的辨识很难。有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎&#xff0c;在网络上经常一起出现。本文将带读者对这四个相似概念如何区分。 1.1. Web服务器概念与基本原理 1.1.1. Web服…

bladex实现单点登录

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年4月17日16:19:51 在实际开发中&#xff0c;有时候我们有这样的需求&#xff0c;即&#xff0c;一个体系中的用户是共通的&#xff0c;比如统一体系下&#…

POJ1179,P4342-[IOI1998]Polygon【区间dp】

正题 POJ题目链接:http://poj.org/problem?id1179 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP4342 题目大意 一个数字环&#xff0c;每个数字之间有一个符号&#xff08;或&#x00D7;" role="presentation" style="pos…

若依实现单点登录(解析请求链接中的参数做鉴权认证)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年4月19日19:56:56 昨天写了个bladex的单点登录&#xff0c;回想起来还是比较复杂的&#xff0c;今天又收到了个在若依里面实现单点登录。具体是这样的:别的系…

git常用的指令

最近项目从svn迁入到git&#xff0c;常用的git指令需要用到 一、git仓库安装 git config --global user.name "user name" git config --global user.email "emailemail.com"#初始化 git init#加仓库 git remote add origin https://github.com/user/proje…

Docker打包 Asp.Net Core应用,在CentOS上运行

本文主要介绍下运用docker虚拟技术打包Asp.net core应用。 Docker作为一个开源的应用容器引擎&#xff0c;近几年得到广泛的应用&#xff0c;使用Docker我们可以轻松实现应用的持续集成部署&#xff0c;一次打包&#xff0c;到处运行。 开篇借用百科上对docker的介绍。 Docker …

若依实现系统单点登录(可绕过验证码)

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是&#xff1a;2022年4月19日19:56:56昨天写了个bladex的单点登录&#xff0c;回想起来还是比较复杂的&#xff0c;今天又收到了个在若依里面实现单点登录。具体是这样的:别的系…