并查集
吃葡萄不吐葡萄皮丿
这个作者很懒,什么都没留下…
展开
-
并查集
并查集的应用:并和查有关的集合操作并查集可以用于相关的集合操作,如判定一个无向图是否有环,输出一个无向图的连通分量个数,kruscal最小生成树的操作。一些基于集合,有添加其它性质的集合操作。原创 2013-08-23 16:33:08 · 1160 阅读 · 0 评论 -
叠积木
描述Bob和Alice在叠积木。共有30000块积木,编号为1到30000。一开始,这些积木放在地上,自然地分成N堆。Alice接受Bob的指示,把一些积木叠在另一些积木的上面。一旦两块积木相叠,彼此就再也不会分开了,所以最后叠在一起的积木会越来越高。Bob让Alice依次执行P条操作,操作分为两种:第一种是移动操作,格式为“移动X到Y的上面”。X和Y代表两块积木的编号,意原创 2013-08-23 17:10:02 · 1751 阅读 · 0 评论 -
众数问题
这题注意的是要用scanf和printf输入输出,否则会超时,而且数组要开到1000W,不然数组越界描述给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。编程任务:对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。 输入原创 2013-08-18 10:42:20 · 2330 阅读 · 5 评论 -
半数集问题
描述给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。(1) n∈set(n);(2) 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;(3) 按此规则进行处理,直到不能再添加自然数为止。例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。注意半数集是多重集。编程任务:对于给定的自然数原创 2013-08-18 10:21:16 · 1772 阅读 · 1 评论 -
邮局选址问题
描述在一个按照东西和南北方向划分成规整街区的城市里,n个居民点散乱地分布在不同的街区中。用x 坐标表示东西向,用y坐标表示南北向。各居民点的位置可以由坐标(x,y)表示。街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值|x1-x2|+|y1-y2|度量。居民们希望在城市中选择建立邮局的最佳位置,使n个居民点到邮局的距离总和最小。编程任务:给定n 个居民点的位置原创 2013-08-18 11:18:36 · 9797 阅读 · 4 评论 -
集合划分问题
描述n个元素的集合{1,2,, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下:{{1},{2},{3},{4}},{{1,2},{3},{4}},{{1,3},{2},{4}},{{1,4},{2},{3}},{{2,3},{1},{4}},{{2,4},{1},{3}},{{3,4},{1原创 2013-08-18 08:34:21 · 1357 阅读 · 0 评论 -
输油管道问题
描述某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n 口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?证明可在线性时间内确定主管道的最优位置。编程任务:给定n 口油井的位置,编程计算各油原创 2013-08-18 11:07:03 · 2343 阅读 · 0 评论 -
How Many Tables
How Many Tables Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends know each other, and all the friends do not want to stay原创 2013-10-30 16:04:46 · 780 阅读 · 0 评论