当前位置: 首页 > news >正文

【程序自动分析——并查集,离散化】

题目

代码(注意不是把p修改为unordered_map,而是增加一个get)

#include <bits/stdc++.h>
using namespace std;

const int N = 2e5+10; //n个数据,可能引入2*n个离散点

int p[N];
bool cannot;
unordered_map<int, int> mp;
int n, idx, cnt;

struct req
{
    int a, b;
} q[N];

int get(int x)
{
    if(mp.count(x)) return mp[x];
    else return mp[x] = ++idx;
}
int find(int x)  // 并查集
{
    if (p[x] != x) p[x] = find(p[x]);
    return p[x];
}

int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d", &n);
        idx = 0;
        cnt = 0;
        cannot = false;
        mp.clear();
        
        for(int i = 1; i <= 2 * n; i++) p[i] = i; //n个数据,可能引入2*n个离散点
        for(int i = 1; i <= n; i++)
        {
            int a, b, op; 
            scanf("%d%d%d", &a, &b, &op);
            a = get(a), b = get(b);
            if(op)
            {
                int pa = find(a), pb = find(b);
                if(pa != pb) p[pa] = pb;
            }
            else q[++cnt] = {a, b};
        }

        for(int i = 1; i <= cnt; i++)
        {
            int pa = find(q[i].a), pb = find(q[i].b);
            if(pa == pb)
            {
                puts("NO");
                cannot = true;
                break;
            }
        }

        if(!cannot) puts("YES");
    }
}

相关文章:

  • DeepSeek提问术:解锁AI交互新姿势-20 个精准提问框架
  • MES系统如何实现远程访问?
  • 基于SpringBoot实现旅游酒店平台功能一
  • 10 个玉米重组自交系种群植物结构的遗传基础
  • Go 语言 + libbpfgo 实战 eBPF 开发
  • linux c++11 gcc4 环境编译安装googletest/gtest v1.10
  • 为AI聊天工具添加一个知识系统 之138 设计重审 之3 文章学 之 引言 之3 纵观三观( 加入 )
  • 无人机推流/RTMP视频推拉流:EasyDSS无法卸载软件的原因及解决方法
  • 饮食 “巧调理”,缓解手抖有妙方
  • Jenkins在Windows上的使用(二):自动拉取、打包、部署
  • Deepin下创建AppImage应用的快捷方式
  • windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)
  • 【UCB CS 61B SP24】 Lecture 25 26 - Minimum Spanning Trees 学习笔记
  • Mysql-主从搭建如何指定库表同步以及新增库表同步
  • 从毕达哥拉斯定理到向量距离和夹角的计算
  • SCSS预处理器(详细讲解、入门教程)
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(一)
  • 第五章 起航14 后退一步也是一种保护?
  • C 语言中使用数组作为参数的函数
  • Linux第一课
  • wordpress添加tag标签/百度自然排名优化
  • 北京效果图公司/关键词排名优化怎么样
  • php网站源码免费下载/万能搜索引擎网站
  • 做网站 兼职/网站设计制作公司
  • 日照建设工程信息网站/国际军事新闻最新消息今天
  • 服务好的高端网站建设公司/seo推广方法集合