扩域并查集

技术扩域并查集 扩域并查集1 #include iostream2 #include cstdio3 using namespace std;4 5 const int MAXN=50010;6 int

扩域并查集

1 #包含输入输出流

2 #包含cstdio

3使用命名空间标准;

5 const int MAXN=50010

6 int n,k;

7 int head[MAXN * 3];//一倍存同类,一倍存吃,一倍存被吃

8

9 int root(int x)

10 {

11 if (x==head[x])返回x;

还有12个返回head[x]=root(head[x]);

13 }

14

15行内bool check1(int x,int y) //同类

16 {

17 if(根(x ^ n)==根(y)| |根(x ^ 2 * n)==根(y))返回false//x吃y || x被y吃

18头[根(x)]=根(y);

19头【根(x ^ n)】=根(^恩);

20头[根(x ^ 2 * n)]=根(y ^ 2 * n);

21还真;

22 }

23行内bool check2(int x,int y) //x吃y

24 {

25 if(根(x)==根(y)| |根(x ^ 2 * n)==根(y))返回false//同类|| x被y吃

26头[根(x)]=根(y ^ 2 * n);

27头[根(x ^ n)]=根(y);

28头[根(x ^ 2 * n)]=根(^恩);

29还真;

30 }

31

32 int main()

33 {

34 scanf('%d%d ',n,k);

35表示(int I=1;I=3 * n;I)头[I]=I;

36

37 int ans=0;

38表示(int I=1;I=k;(一)

39 {

40 int opt,x,y;

41 scanf('%d%d%d ',opt,x,y);

42 if (xn || yn)

43 {

44 ans

45继续;

46 }

47 if (opt==1) //x与y是同类

48 {

49如果(!check1(x,y))ans;

50 }

51 else //x吃y

52 {

53 if (x==y)

54 {

55 ans

56继续;

57 }

58 if(!check2(x,y))ans;

59 }

60 }

61 printf('%d\n ',ans);

62

63返回0;

64 }

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52950.html

(0)

相关推荐

  • 怎样进行JVM内存布局

    技术怎样进行JVM内存布局这篇文章给大家介绍怎样进行JVM内存布局,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JVM内存:堆、方法区、虚拟机栈、本地方法栈、程序计数器堆和方法区线程共享,后面三个线

    攻略 2021年10月20日
  • activity和singletask(task和activity有什么区别)

    技术Activity的singleTask有什么作用本篇内容主要讲解“Activity的singleTask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Activ

    攻略 2021年12月18日
  • Python正则表达式技巧有哪些

    技术Python正则表达式技巧有哪些本篇内容介绍了“Python正则表达式技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年12月1日
  • 石蕊的化学式,紫色石蕊溶液与稀盐酸反应方程式

    技术石蕊的化学式,紫色石蕊溶液与稀盐酸反应方程式紫色石蕊作为酸碱指示剂的原因是电离平衡原理石蕊的化学式,不是化学方程式。石蕊是蓝紫色粉末,它是一个比较复杂的化合物。是从植物中提取得到的蓝色色素,能部分地溶解于水而显蓝色。

    生活 2021年10月28日
  • 英语代词表格归类,英语中代词one和it用法

    技术英语代词表格归类,英语中代词one和it用法释义反身代词是一种表示反射或强调的代词英语代词表格归类。它的基本含义是:通过反身代词指代主语,使施动者把动作在形式上反射到施动者自己。因此,反身代词与它所指代的名词或代词形

    生活 2021年10月28日
  • Dev-C++软件如何安装

    技术Dev-C++软件如何安装这篇文章给大家分享的是有关Dev-C++软件如何安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装教程1、下载后鼠标右击压缩包解压 2、双击安装程序安装 3

    攻略 2021年11月18日