题目描述There are so many different religions in the world today that it is difficult to keep track of them all. You are interested in finding out how many different religions students in your univers
题目地址:POJ 2263 这题是在网上的一篇关于优先队列的博文中看到的。。但是实在没看出跟优先队列有什么关系。。我用的二分+并查集做出来了。。。 二分路的载重量。然后用并查集检查是否连通。 代码如下: #include #include #include #include #include #include #include #include #include using
题目描述 某届电影节评选电影,共有两部电影进入最后
题目描述 输入 多组输入,每组第一行包含一个整数m(
题目描述 示例输入 3 1 1 2 3 2 1 2 1 3 示例输出 2 1 提示 #include #include int bin[100000],a[10000]; int findx(
题目地址:http://poj.org/problem?id=1611网络流先慢慢看着。
题目地址:HDU 3172带权并查集水题。每次合并的时候维护一下
题目地址:HDU 3635加权并查集水题。用num数组维护该城市有多
题目地址:HDU 2120这题虽然字数不多,但就是看不懂。。意思是求最多有多少个被墙围起来的区域。显然就是求环的个数。然后用并查集求环个数就可以了。代码如下:#include #include #include #include #include #include #include #include #include #include #include usin
题目地址:HDU 2473这题以前碰到过,没做出来。。现在又做了做,还是没做出来。。、、这题涉及到并查集的删除操作。想到了设一个虚节点,但是我把虚节点设为了要删除的点的父节点,一直是栈溢出,目测是无限递归了。看了看别人的做法, 原来只要建一个映射就可以了,虚节点是作为的新的映射,每次删除一个点,就把他映射到一个新的点上去。代码如下:#include #include #incl
题目地址:HDU 1856水题。由于标号范围太大,而数据数只有10w,所以要先进行离散化。然后就是裸的并查集了。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;i
题目地址:POJ 1988 这道题的查找合并的方法都能想的到,就是一点没想到,我一直天真的以为查询的时候,输入后能马上输出,这样的话在合并的时候就要所有的结点值都要算出来,但是经过路径压缩之后,没办法全部都处理到,如果不压缩妥妥的TLE。。于是看了看网上的题解。才发现自己是多么的天真(ben,四声)。。在查询的时候只要找一次跟就可以了。。这样不需查询的也就没必要处理出来。反而更省时。
题目地址:POJ 1703种类并查集水题。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;int bin[600000], rank[600000];int f
题目地址:POJ 1182一道很经典的种类并查集的题目。利用互相之间的关系来进行权值的维护。代码如下:#include #include #include #include #include #include #include #include #include #include #include using namespace std;int bin[600
题目地址:POJ 2513 刚开始没想到字典树,用的map函数一直TLE,由于上一次的签到题由于没想到字典树而卡了好长时间的深刻教训,于是过了不久就想起来用字典树了,(为什么是在TLE了5次之后。。T^T)是在然后把map改成了字典树,然后就过了。 这题居然不知不觉的用上了欧拉回路。。其实当时我是这样想的。。因为相互接触的必须要相同,所以除了两端外,其他的都是两两相同的,所以除了两端的颜色外其
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号