目录

    • 大佬的高级IDLE
      • 题目描述
      • 输入描述
      • 输出描述
      • 示例1
        • 输入
        • 输出
        • 说明
  • 题目分析
  • 解题思路
  • 并查集离散化
  • AC代码

大佬的高级IDLE

传送门

时间限制:2秒
空间限制:128M

题目描述

某厉害的大佬,自己写了个高级的IDLE。它能帮助这位大佬检测一些变量的赋值是否符合逻辑。
大佬编程时,程序中出现了一些变量(x1, x2, x3, ··· ),并且有 n 个形如 xi = xj 或 xi ≠ xj 的变量相等/不想等的约束条件。
这个IDLE能够自动判断是否可以分别给每一个变量赋予一个恰当的值,使得这 n 个条件能够同时被满足。
例如,一次编程时,约束条件为:x1 = x2, x2 = x3, x3 = x4, x1 ≠ x4
显然这些条件无法同时被满足,因此IDLE会报错"CANNOT"。否则会提示"OK"。
现给定一些约束条件,请分别判断IDLE会提示什么。

输入描述

第1行包含1个正整数N,表示大佬的N个代码。注意这些代码之间是相互独立的。
对于每个代码,包含若干行:
第1行包含1个正整数n,表示该代码中出现的约束条件的个数。
接下来n行,每行包括3个整数 u, v, op,描述1个相等/不等的约束条件,相邻整数之间用单个空格隔开。若 op = 1 ,则该约束条件为 xu = xv ;若 op = 0 ,则该约束条件为 xu ≠ xv

数据范围:
1 ≤ ∑n ≤ 100000
1 ≤ u ,v ≤ 1000000000

输出描述

包括N行,代表大佬的N个代码。
第i行输出一个字符串"CANNOT"或"OK",(不包含引号,字母全大写),"CANNOT"表示给定的n个约束条件不能被同时满足,"OK"表示可以被同时满足

示例1

输入

2
2
1 2 1
1 2 0
2
1 2 1
2 1 1

输出

CANNOT
OK

说明

在第一个问题中,约束条件为:x1_11​=x2_22​,x1_11​≠x2_22​。这两个约束条件互相矛盾,因此不可被同时满足。

在第二个问题中,约束条件为:x1_11​=x2_22​,x1_11​=x2_22​。这两个约束条件是等价的,可以被同时满足。


题目分析

显然,我们要使用并查集。
对于xu_uu​=xv_vv​,u和v在同一个集合中。
对于xu_uu​≠xv_vv​,u和v不能在同一个集合中。
因题目数据范围是1e9,故需要进行离散化。

解题思路

先处理相等的,再处理不想等的。
对于输入的u和v

  • 如果xu_uu​和xv_vv​要相等,就把它们并入到一个集合中。
  • 如果xu_uu​和xv_vv​要不相等,它们就不应该在同一个集合中
    • 如果在,那就输出"CANNOT"并结束
    • 如果所有的不想等判断完毕,都满足条件,就输出"OK"

并查集离散化

#mermaid-svg-Cs7b3rsgcquOZJB6 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .label text{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .node rect,#mermaid-svg-Cs7b3rsgcquOZJB6 .node circle,#mermaid-svg-Cs7b3rsgcquOZJB6 .node ellipse,#mermaid-svg-Cs7b3rsgcquOZJB6 .node polygon,#mermaid-svg-Cs7b3rsgcquOZJB6 .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-Cs7b3rsgcquOZJB6 .node .label{text-align:center;fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .node.clickable{cursor:pointer}#mermaid-svg-Cs7b3rsgcquOZJB6 .arrowheadPath{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-Cs7b3rsgcquOZJB6 .flowchart-link{stroke:#333;fill:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-Cs7b3rsgcquOZJB6 .edgeLabel rect{opacity:0.9}#mermaid-svg-Cs7b3rsgcquOZJB6 .edgeLabel span{color:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-Cs7b3rsgcquOZJB6 .cluster text{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-Cs7b3rsgcquOZJB6 .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-Cs7b3rsgcquOZJB6 text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .actor-line{stroke:grey}#mermaid-svg-Cs7b3rsgcquOZJB6 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .sequenceNumber{fill:#fff}#mermaid-svg-Cs7b3rsgcquOZJB6 #sequencenumber{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 #crosshead path{fill:#333;stroke:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .messageText{fill:#333;stroke:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-Cs7b3rsgcquOZJB6 .labelText,#mermaid-svg-Cs7b3rsgcquOZJB6 .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .loopText,#mermaid-svg-Cs7b3rsgcquOZJB6 .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-Cs7b3rsgcquOZJB6 .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-Cs7b3rsgcquOZJB6 .noteText,#mermaid-svg-Cs7b3rsgcquOZJB6 .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-Cs7b3rsgcquOZJB6 .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-Cs7b3rsgcquOZJB6 .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-Cs7b3rsgcquOZJB6 .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .section{stroke:none;opacity:0.2}#mermaid-svg-Cs7b3rsgcquOZJB6 .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-Cs7b3rsgcquOZJB6 .section2{fill:#fff400}#mermaid-svg-Cs7b3rsgcquOZJB6 .section1,#mermaid-svg-Cs7b3rsgcquOZJB6 .section3{fill:#fff;opacity:0.2}#mermaid-svg-Cs7b3rsgcquOZJB6 .sectionTitle0{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .sectionTitle1{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .sectionTitle2{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .sectionTitle3{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-Cs7b3rsgcquOZJB6 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .grid path{stroke-width:0}#mermaid-svg-Cs7b3rsgcquOZJB6 .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-Cs7b3rsgcquOZJB6 .task{stroke-width:2}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText:not([font-size]){font-size:11px}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-Cs7b3rsgcquOZJB6 .task.clickable{cursor:pointer}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText0,#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText1,#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText2,#mermaid-svg-Cs7b3rsgcquOZJB6 .taskText3{fill:#fff}#mermaid-svg-Cs7b3rsgcquOZJB6 .task0,#mermaid-svg-Cs7b3rsgcquOZJB6 .task1,#mermaid-svg-Cs7b3rsgcquOZJB6 .task2,#mermaid-svg-Cs7b3rsgcquOZJB6 .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutside0,#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutside2{fill:#000}#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutside1,#mermaid-svg-Cs7b3rsgcquOZJB6 .taskTextOutside3{fill:#000}#mermaid-svg-Cs7b3rsgcquOZJB6 .active0,#mermaid-svg-Cs7b3rsgcquOZJB6 .active1,#mermaid-svg-Cs7b3rsgcquOZJB6 .active2,#mermaid-svg-Cs7b3rsgcquOZJB6 .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-Cs7b3rsgcquOZJB6 .activeText0,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeText1,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeText2,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeText3{fill:#000 !important}#mermaid-svg-Cs7b3rsgcquOZJB6 .done0,#mermaid-svg-Cs7b3rsgcquOZJB6 .done1,#mermaid-svg-Cs7b3rsgcquOZJB6 .done2,#mermaid-svg-Cs7b3rsgcquOZJB6 .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-Cs7b3rsgcquOZJB6 .doneText0,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneText1,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneText2,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneText3{fill:#000 !important}#mermaid-svg-Cs7b3rsgcquOZJB6 .crit0,#mermaid-svg-Cs7b3rsgcquOZJB6 .crit1,#mermaid-svg-Cs7b3rsgcquOZJB6 .crit2,#mermaid-svg-Cs7b3rsgcquOZJB6 .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCrit0,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCrit1,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCrit2,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCrit0,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCrit1,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCrit2,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-Cs7b3rsgcquOZJB6 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-Cs7b3rsgcquOZJB6 .milestoneText{font-style:italic}#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCritText0,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCritText1,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCritText2,#mermaid-svg-Cs7b3rsgcquOZJB6 .doneCritText3{fill:#000 !important}#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCritText0,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCritText1,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCritText2,#mermaid-svg-Cs7b3rsgcquOZJB6 .activeCritText3{fill:#000 !important}#mermaid-svg-Cs7b3rsgcquOZJB6 .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-Cs7b3rsgcquOZJB6 g.classGroup text .title{font-weight:bolder}#mermaid-svg-Cs7b3rsgcquOZJB6 g.clickable{cursor:pointer}#mermaid-svg-Cs7b3rsgcquOZJB6 g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-Cs7b3rsgcquOZJB6 g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-Cs7b3rsgcquOZJB6 .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-Cs7b3rsgcquOZJB6 .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .dashed-line{stroke-dasharray:3}#mermaid-svg-Cs7b3rsgcquOZJB6 #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 .commit-id,#mermaid-svg-Cs7b3rsgcquOZJB6 .commit-msg,#mermaid-svg-Cs7b3rsgcquOZJB6 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-Cs7b3rsgcquOZJB6 g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-Cs7b3rsgcquOZJB6 g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-Cs7b3rsgcquOZJB6 g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-Cs7b3rsgcquOZJB6 .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-Cs7b3rsgcquOZJB6 .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-Cs7b3rsgcquOZJB6 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-Cs7b3rsgcquOZJB6 .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-Cs7b3rsgcquOZJB6 .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-Cs7b3rsgcquOZJB6 .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-Cs7b3rsgcquOZJB6 .edgeLabel text{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-Cs7b3rsgcquOZJB6 .node circle.state-start{fill:black;stroke:black}#mermaid-svg-Cs7b3rsgcquOZJB6 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-Cs7b3rsgcquOZJB6 #statediagram-barbEnd{fill:#9370db}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-state .divider{stroke:#9370db}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-Cs7b3rsgcquOZJB6 .note-edge{stroke-dasharray:5}#mermaid-svg-Cs7b3rsgcquOZJB6 .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-Cs7b3rsgcquOZJB6 .error-icon{fill:#522}#mermaid-svg-Cs7b3rsgcquOZJB6 .error-text{fill:#522;stroke:#522}#mermaid-svg-Cs7b3rsgcquOZJB6 .edge-thickness-normal{stroke-width:2px}#mermaid-svg-Cs7b3rsgcquOZJB6 .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-Cs7b3rsgcquOZJB6 .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-Cs7b3rsgcquOZJB6 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-Cs7b3rsgcquOZJB6 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-Cs7b3rsgcquOZJB6 .marker{fill:#333}#mermaid-svg-Cs7b3rsgcquOZJB6 .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-Cs7b3rsgcquOZJB6 {color: rgba(0, 0, 0, 0.75);font: ;}

l和r都存入Rank
sort
unique去重
离散化后分别对应
假如要联合
l r
1 2
5 6
7 10
1 9
Rank:
1
2
5
6
7
10
1
9
1
1
2
5
6
7
10
1
2
5
6
7
10
0
1
2
3
4
5

AC代码

#include <bits/stdc++.h>
using namespace std;
#define SIZE 100010
struct connect
{int u, v, op;
} con[SIZE];
bool operator<(const connect &a, const connect &b)
{return a.op > b.op;
} //对<的定义:操作数为1(相等)的排在前面先处理
int father[SIZE];
int getFather(int n)
{return (n == father[n]) ? (n) : (father[n] = getFather(father[n]));
}
void Union(int u, int v) //连接两个集合
{int fu = getFather(u);int fv = getFather(v);if (fu != fv)father[fu] = fv;
}
int Rank[SIZE * 2]; //需要离散化
int main()
{int N;cin >> N;while (N--) //N组测试样例{int n; //每组有n对scanf("%d", &n);for (int i = 0; i < n; i++){scanf("%d%d%d", &con[i].u, &con[i].v, &con[i].op);Rank[i * 2] = con[i].u; //把l和r放入Rank中Rank[i * 2 + 1] = con[i].v;}sort(Rank, Rank + n * 2); //排序int allNum = unique(Rank, Rank + 2 * n) - Rank; //去重后,共有几种不同的元素for (int i = 0; i < n; i++){con[i].u = lower_bound(Rank, Rank + allNum, con[i].u) - Rank; //对于每一个数,离散化后对应的数con[i].v = lower_bound(Rank, Rank + allNum, con[i].v) - Rank;}sort(con, con + n); //把要连接的放到前面for (int i = 0; i < allNum; i++) //初始化father等于自己father[i] = i;for (int i = 0; i < n; i++){int u = getFather(con[i].u);//找到fatherint v = getFather(con[i].v);if (con[i].op == 1) //如果是要合并的Union(u, v); //就合并两个集合else if (u == v) //不能在同一个集合中,但是却在同一个集合中{puts("CANNOT"); //输出CANNOTgoto loop; //结束,跳到loop处 ---->---+}//                                      |                  }//                                          |puts("OK");//没有不符合条件的,输出OK          |loop:; //跳到这里 <-------<----------<-----------+}return 0;
}

BUCT-2021年ACM竞赛班训练(一)2021.3.25-问题 A: 大佬的高级IDLE-题解相关推荐

  1. 2021年ACM竞赛班训练(六)题解

    2021年ACM竞赛班训练(六)题解 ==Problem A 逆元== 题目描述 输入 输出 题目分析 代码 ==Problem B&C 五一假期前最后一题&女神的考验== 题目描述 ...

  2. 2021年ACM竞赛班训练(十一)2021.5.20-问题 E: 调皮的摩尔-题解

    传送门 Balloon 题目描述 输入描述 输出描述 样例一 输入 输出 说明 提示 题目分析 注意事项 AC代码 Balloon 传送门 时间限制:1秒 空间限制:128M 题目描述 儿童节突然火起 ...

  3. BUCTOJ2021年ACM竞赛班训练九题解

    BUCTOJ2021年ACM竞赛班训练九题解 问题A 问题B 问题C 问题D 问题E 问题F 问题A 原题链接 A题题解: 首先让我们看看这个题的题目,ummm-好像要找题目,好吧,我们去看看题目在哪 ...

  4. 集合划分讲解-And-2021年ACM竞赛班训练(九)2021.5.20-问题 E: 登上火星-题解

    集合划分 集合划分,把 n n n个数分成 k k k个集合,不能包含空集,所有的划分数量记为斯大林数,用 S ( n , k ) S(n,k) S(n,k)表示. 目前斯大林数没有直接的公式,但是有 ...

  5. BUCT-2021年ACM竞赛班训练(六)2021.4.29-问题 C:女神的考验-题解

    传送门 女神的考验 题目描述 输入描述 输出描述 样例一 输入 输出 题目分析 注意事项 AC代码 女神的考验 传送门 时间限制:1秒 空间限制:128M 题目描述 星空点点,墨日曜淡.世界芳华灼灼, ...

  6. buctoj2021年ACM竞赛班训练(七)题解

    A: 玩游戏 题意:初始有一堆石子共n个,双方轮流行动,每次可以从中取出恰好完全平方数(1.4.9--)个石子,不可以不取石子直接跳过回合.双方都足够聪明,会按最优的方式来游玩,无法行动的人输掉该游戏 ...

  7. ACM如何入门,ACM竞赛需要学习哪些算法?

    #################成绩################## 大一:2017年4月份"玲珑杯"河南工业大学2017年ACM程序设计大赛暨河南高校邀请赛,获得银奖 20 ...

  8. 拿下Facebook黑客杯四冠王!与Jeff Dean相提并论...ACM竞赛之神的传奇前半生

    作者 | 陈大鑫.青暮 转载自:AI科技评论 近日,Facebook Hacker Cup(黑客杯)总决赛落下帷幕,最终,现年26岁的白俄罗斯选手Gennady Korotkevich(比赛网名:To ...

  9. 一个预告|恭喜斯科特·阿伦森获得2021年ACM计算奖

    国际计算机协会(ACM)4月15日宣布,斯科特·阿伦森因对量子计算的开创性贡献荣获2021年ACM计算奖. ACM计算奖用以表彰处于职业生涯中早期.其贡献具有根本且广泛的影响的计算机科学家.ACM主席 ...

最新文章

  1. Requirejs快速使用
  2. 关于网页制作的规划与流程图的使用
  3. 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流
  4. 使用FgSegNet进行前景图像分割
  5. linux驱动:自动创建设备节点
  6. Socket编程知识必学/SELECT 编程
  7. 【数据库原理及应用】经典题库附答案(14章全)——第十四章:分布式数据库系统
  8. ArcGIS AO开发高亮显示某些要素
  9. manual setting mysql_mysql 5.5配置
  10. 递归算法及经典递归例子代码实现
  11. SQL Express几个版本的区别
  12. 如何理解阿里月饼事件中各方的表现
  13. 程序员开工指南,专治不想上班!
  14. 100base - CX/FX/LX/SX/ZX
  15. 视频剪辑工具,视频怎样批量加背景音乐和特效
  16. mac svn 服务器及客户端
  17. ThinkPad S5 升级安装Windows10后 连上网络后系统假死
  18. 家庭教育:怎样安慰不想上学的人
  19. 阿里云SLB之:基于TCP协议的SLB应用场景(十)
  20. Matlab:常用命令大全

热门文章

  1. python_爬虫_豆瓣TOP250_url
  2. 小数位数修约,四舍六入五成双
  3. Linux定时器和时间管理
  4. 一首同音叠字诗“石室诗士施氏”
  5. PCIe设备在一个系统中是如何发现与访问的
  6. 在移动端设置overflow:hidden禁止滚动的解决方法
  7. 各向同性特性、各向异性特性
  8. android学习资源大整合(持续更新ing)
  9. layui官方文档镜像站
  10. 前端调用手机相机拍照