poj1182、hdu1829(并查集)】的更多相关文章

题目链接: https://vjudge.net/problem/POJ-1182 题目大意: 中文题,不多说. 思路: 给每个动物创建3个元素,i-A, i-B, i-C i-x表示i属于种类x,并查集每个组表示组内元素同时发生或者同时不发生 举例说明, 对于x和y属于同一组,合并x和y,合并x+n和 y+n,合并x+2n和y+2n,这里需要判断x和y+n是否是同一组,x和y+2n是否是同一组,如果是的话那就表示出错. 对于x吃y,合并x和y+n,x+n和y+2n,x+2n和y.这里需要判断x…
题目链接:https://cn.vjudge.net/problem/POJ-1182 题意 中文题目,就不写了哈哈 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类. 第二种说法是"2 X Y",表示X吃Y. 此人对N个动物,…
A Bug's Life Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14121    Accepted Submission(s): 4603 Problem Description Background Professor Hopper is researching the sexual behavior of a rare s…
食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64841   Accepted: 19077 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同…
今天刚发现,之前做的并查集只是贴模板基本就能过,题意改变一点,自己还是不懂,其实我还没入门呢... 题意:食物链,A吃B,B吃C,C吃A,输入m组数据: 1 a b:a 和 b 是同一类 2 a b:a吃b 判断这m组数据有几句是假话. 假话条件: 1)在2的情况下,a == b; 2)a > n || b > n; 3)和前面的语句冲突: 思路:推荐一篇好的博客:http://cavenkaka.iteye.com/category/217940 其实在这里才明白Rank[]数组的意义,表示…
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种.有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类. 第二种说法是"2 X Y",表示X吃Y. 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的.当一句话满足下列三条之一时,这句话就是假话,否则…
题目链接 分析:根据分析,关系的递推满足由[a,b]~[b,c]得:[a,c]=([a,b]+[b,c])%3;[a,d]=([a,b]+[b,c]+[c,d])%3.由rank数组表示关系 0 - 这个节点与它的父节点是同类 1 - 这个节点被它的父节点吃 2 - 这个节点吃它的父节点. 则:当 d = 1的时候,( d - 1 ) = 0,也就是我们制定的意义 当 d = 2的时候,( d - 1 ) = 1,代表Y被X吃,也是我们指定的意义. 逆推根节点与Y的关系 这部分也是穷举法推出来的…
http://poj.org/problem?id=1182   题意应该就不用说了  再次回到食物链这道题,自己写了一遍,一直wa...原因竟然是不能用多实例,我也是醉了,但是我真的彻底的理解了,那些关系之间的转化,和上面那道差不多: 这道中的 r[i]表示i和f[i]之间的关系; r[i] = 0,表示 i 和 f[i] 同类, r[i] = 1, 表示 i 被 f[i] 吃: r[i] = 2, 表示 i 吃 f[i]; 至于为什么这样表示的看下面这些: 首先两个动物之间的关系只有三种即:…
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;const int N = 100005;int r[N], father[N];//定义一个关系数组,定义一个父亲(路径)数组:int Find(int x);//寻找根节点,并且找这个点与根节点的关系int main(){ int amount, sentence, relation, a, b, ans; ans=0;…
题目链接:http://poj.org/problem?id=1182   食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 69207   Accepted: 20462 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用两种说法对这N个动物所构成…