题目: POJ 1988 Cube Stacking 考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面! 题目传送门:http://poj.org/problem?id=1988 思路: 读了题目,思考了很久,才发现这道题就是个带权重的并查集,具体就看代码吧! 我们来看看成功AC的代码吧: #include<iostream> #include<string> using...
POJ1988 Cube stacking(非递归) n有N(N<=30,000)堆方块,开始每堆都是一个方块。方块编号1 – N. 有两种操作: nM x y : 表示把方块x所在的堆,拿起来叠放到y所在的堆上。 nC x : 问方块x下面有多少个方块。 n操作最多有 P (P<=100,000)次。对每次C操作,输出结果。 这题挺厉害的,真的不容易...
poj_1988 并查集 题目大意 开始有N堆砖块,编号为1,2...N,每堆都只有一个。之后可以进行两种操作: (1)M X Y 将编号为X的砖块所在的那堆砖拿起来放到编号为Y的砖块所在的堆上; (2)C X 查询编号为X的砖块所在的堆中,在砖块X下方的所有砖块的数目 题目分析 典型的集合合并和查询,因此采用并查集。并查集的...
POJ 1988 Cube stacking 题意: 有N(N<=30,000)堆方块,开始每堆都是一个方块。方块编号1 –N. 有两种操作: M x y:表示把方块x所在的堆,拿起来叠放到y所在的堆上。 C x: 问方块x下面有多少个方块。 操作最多有P (P<=100,000)次。对每次C操作,输出结果。 分析: 用并查集解。 此题除了parent数组...
方块栈(POJ 1988) #include<iostream>#include<string>#include<queue>#include<vector>#include<algorithm>#include<math.h>#include<functional>#include#define INF 10000//正无穷usingnamespacestd;constintmaxn=100010;intparent[maxn];intd[maxn];//编号[i]下的所有方块数量intcnt[maxn];intn;classSet...
1693, 1703, 1724, 1988, 2004, 2010,2119, 2274, 1125(弗洛伊德算法) ,2421(图的最小生成树)6...
另: 虽然已经过了好 多的人了,但是感觉今天学到的思路太经典了, 感谢 alpc50 大牛,使得我对并查集的应用又前进了一步~~~ 首先建议来看本文的 ACMer 们去做做 poj1988,思路同本文类似 的说~~~ 刚拿到这道题,我的想法很单纯:开三个并查集,分别保存同类、 食物、天敌,然后每次归并都分别判断处理。这样...
1988: 并查集 2051: 堆 2078: 不难,但剪支可以做到很好 2082::O(n),你想到了吗? 2084: 卡特兰数 2182: 线段树 2195: 最小费用最大流 2234: 经典博弈算法 2236: 并查集 2299: 二分思想 2395: Kruskal 最小生成树的拓展 2406: KMP 2411: 用二进制串来表示状态 ...
Aladdin Pojhan Aladdin Pojhan是一名影视制作人、副导演、助理导演,主要作品有《娇娃雇佣兵》,《老房惊魂》,《The Wind》等。主要作品 电影作品 电视剧作品 人物关系