C128 并查集+离散化 P1955 [NOI2015] 程序自动分析
视频链接:C128 并查集+离散化 P1955 [NOI2015] 程序自动分析_哔哩哔哩_bilibili
P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
// 并查集+离散化 #include <iostream> #include <unordered_map> using namespace std; const int N=100005; int T,n,cnt; int a[N],b[N],e[N]; int p[N*2]; unordered_map<int,int> mp; int get(int x){ //离散化 if(mp.count(x)==0) mp[x]=++cnt; return mp[x]; } int find(int x){ return p[x]==x?x:p[x]=find(p[x]); } int main(){ scanf("%d",&T); while(T--){ cnt=0; mp.clear(); scanf("%d",&n); for(int i=1;i<=n*2;i++) p[i]=i; for(int i=1;i<=n;i++){ scanf("%d%d%d",&a[i],&b[i],&e[i]); a[i]=get(a[i]); b[i]=get(b[i]); } for(int i=1;i<=n;i++) //合并集合 if(e[i]==1){ int x=find(a[i]),y=find(b[i]); if(x!=y) p[x]=y; } bool flag=1; for(int i=1;i<=n;i++) //判断矛盾 if(e[i]==0&&find(a[i])==find(b[i])){ flag=0; break; } flag?puts("YES"):puts("NO"); } }
分类:
C 数据结构
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!