uva 11665 Chinese Ink (几何+并查集)】的更多相关文章

UVA 11665 随便给12的找了一道我没做过的几何基础题.这题挺简单的,不过uva上通过率挺低,通过人数也不多. 题意是要求给出的若干多边形组成多少个联通块.做的时候要注意这题是不能用double浮点类型的,然后判多边形交只需要两个条件,存在边规范相交,或者存在一个多边形上的顶点在另一个多边形上或者在多边形内. 代码如下: #include <cstdio> #include <cstring> #include <iostream> #include <al…
题意:8个方向如果能够连成一块就算是一个连通块,求一共有几个连通块. 分析:网上的题解一般都是dfs,但是今天发现并查集也可以解决,为了方便我自己理解大神的模板,便尝试解这道题目,没想到过了... #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstring> #include <cstdlib> #include…
UVA 12232 - Exclusive-OR 题目链接 题意:有n个数字.一開始值都不知道,每次给定一个操作,I a v表示确认a值为v,I a b v,表示确认a^b = v,Q k a1 a2 a3 ... ak.表示推断这些数字的异或值是否能确定.能确定就输出值,假设有矛盾就停止 思路:带权并查集,权表示和父结点的异或值,那么多数推断的时候,仅仅要全部数字和他的父结点的异或值的异或值.假设父结点的个数是偶数个.那么依据异或的性质能抵消掉,是能够判定的.假设不为偶数,就是不能判定. 注意…
X-Plosives A secret service developed a new kind ofexplosive that attain its volatile property only when a specific association ofproducts occurs. Each product is a mix of two different simple compounds, towhich we call abinding pair. If N>2, thenmix…
题目链接:uva 1493 - Draw a Mess 题目大意:给定一个矩形范围,有四种上色方式,后面上色回将前面的颜色覆盖,最后问9种颜色各占多少的区域. 解题思路:用并查集维护每一个位置相应下一个能够上色的位置.然后将上色倒转过来处理,就攻克了颜色覆盖的问题. #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm&g…
开始给你n个集合,m种操作,初始集合:{1}, {2}, {3}, … , {n} 操作有三种: 1 xx1 yy1 : 合并xx1与yy1两个集合 2 xx1 yy1 :将xx1元素分离出来合到yy1上 3 xx1 :查询xx1集合的元素个数,和元素所有值总和 并查集,1就是合并两个集合,3要记录两个权值.因为只要祖先的权值,所以Find操作不需要更新权值.  接着就是分离元素了,在这儿我使用映射的方法:开始每个元素都映射自己,接着要删除元素时,我不直接删除元素(因为删除的话可能影响很大),我…
A secret service developed a new kind of explosive that attain its volatile property only when a specific association of products occurs. Each product is a mix of two different simple compounds, to which we call a binding pair. If N > 2, then mixing N…
这题我一直觉得使用了set这个大杀器就可以很快的过了,但是网上居然有更好的解法,orz... 题意:给你一个最大200行50000列的墙,初始化上面没有颜色,接着在上面可能涂四种类型的形状(填充): 圆 :给你圆心坐标,半径,颜色 (1->9) 菱形 :中心坐标,中心向四方的最大值,颜色(1->9) 矩形 :左上角坐标,长和宽,颜色(1->9) 等腰三角形:底边中心坐标,底边长(+1再/2 就是高),颜色(1->9) 其中输入的坐标一定在墙上,但是其他地方可能越界,所以要处理好. …
题意: 平面上有\(n\)个点,有一种操作和一种查询: \(road \, A \, B\):在\(a\),\(b\)两点之间加一条边 \(line C\):询问直线\(y=C\)经过的连通分量的个数以及这些连通分量点的总数 分析: 其实横坐标是没用的,首先可以先将纵坐标离散化. 用并查集维护点的连通性,连通分量的大小以及连通分量中纵坐标的最大值和最小值. 线段树中维护的是每条直线穿过的连通分量的个数以及点的个数之和. 当两个连通分量合并时,先把两个小连通分量从线段树中删去,然后再把合并之后的大…
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4075 题意: 有n个结点,開始都是单独的结点,如今有I操作和E操作,I u v表示吧u的父亲结点设为,距离为|u - v| % 1000,E操作询问u到根的距离 代码: #include <stdio.h> #include <iostream> #in…