题目描述 Description 1920年的芝加哥,出现了一群强盗。如果两个强盗遇上了,那么他们要么是朋友,要么是敌人。而且有一点是肯定的,就是: 我朋友的朋友是我的朋友; 我敌人的敌人也是我的朋友。&nbs…
分类:犯罪团伙问题
bzoj 1370: [Baltic2003]Gang团伙 并查集
题意 在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1、 我朋友的朋友是我的朋友; 2、 我敌人的敌人是我的朋友; 所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某…
【转】并查集路径压缩
使用并查集查找时,如果查找次数很多,那么使用朴素版的查找方式肯定要超时。比如,有一百万个元素,每次都从第一百万个开始找,这样一次运算就是10^6,如果程序要求查找个一千万次,这样下来就是10^13,肯定要出问题的。 …
谁是罪犯逻辑问题
今天看到一个又看到了那个好玩的逻辑问题: 抓了a,b,c,d4名犯罪嫌疑人.其中有一名是小偷,审讯中: a说我不是小偷 b说c是小偷 c说小偷肯定是d d说c胡说! 其中有3个人说的是实话,一个人说的是假话,编程推断谁是…
并查集的两个优化(秩优化+路径压缩)
路径压缩 寻找祖先时采用递归,但是一旦元素一多起来,或退化成一条链,每次GetFather都将会使用O(n)的复杂度,这显然不是我们想要的。对此,我们必须要进行路径压缩,即我们找到最久远的祖先时“顺便”把它的子孙直接连接…
T1386 打击犯罪(#Ⅲ- 4 - 4)
【题目描述】 某个地区有n(n≤1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,…
B - 并查集2
Today is Ignatius’ birthday. He invites a lot of friends. Now it’s dinner time. Ignatius wants to …
1153-有趣的排列问题(规律) ZCMU
Description 有N对双胞胎,他们的年龄分别是1,2,3,……,N岁,他们手拉手排成一队到野外去玩,要经过一根独木桥,为了安全起见,要求年龄大的和年龄小的排在一起,好让年龄大的保护年龄小…
FreeWheel笔试题
一、推理题 题目描述:100个罪犯站成一纵列,每人头上随机带上黑色或白色的帽子,各人不知道自己帽子的颜色,但是能看见自己前面所有人帽子的颜色。然后从最后一个犯人开始,每人只能用同一种声调和音量说一个字:“黑”或“白”,如…
并查集的结题报告
并查集特别好玩,已经不亦乐乎 并查集我一直没敢做,就是那个经典的犯罪团伙我下午试试,做完了,就花了半个多小时,学习和使用! 先上题 题目描述 Description 警察抓到了n个罪犯,警察根据经验知道他们属于不同的犯罪…
图论算法----并查集中的路径压缩
一、算法知识 并查集是一种树型的高级数据结构,用于处理集合的合并和查询的问题,应用十分广泛。 因为主要用合并和查询,所以叫做并查集。但是要注意,这里的集合是不能相交的。 并查集主要有两个函数:find(a)和union(…
并查集应用总结
一.并查集的概念 并查集是一种算法可以用来判断相互关联(同属一个集合)的元素属于几个集合,也可以用来判断图结构中的两点是否是联通的。并查集的设计思路是这样的: 在程序执行过程中任意元素一定输于以下三种状态 1.即f[i]…