并查集:(union-find sets)
一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。
并查集的精髓(即它的三种操作,结合实现代码模板进行理解):
1、MakeSet(x) 把每一个元素初始化为一个集合
初始化后每一个元素的父亲节点是它本...
分类:
其他好文 时间:
2015-08-28 21:30:51
阅读次数:
179
取出两组中的交集[root@CentOS6auto]#ansibleLogin:\&Player-mping交集Nohostsmatched表示两个组中的所有主机[root@CentOS6auto]#ansibleLogin:Player-mpingplayer_centos6.5-2|success>>{"changed":false,"ping":"pong"}login_centos6.5-1|success>>{"changed..
分类:
其他好文 时间:
2015-08-28 02:30:04
阅读次数:
204
旧数据A = {}新数据B = {}新增项:B - A = { x | x∈B且x?A}删除项:A - B = { x | x∈A且x?B}共有项:B ∩ A = { x | x∈B且x∈A}import java.io.BufferedReader;import java.io.Closeable...
分类:
编程语言 时间:
2015-08-27 12:51:06
阅读次数:
290
#include
using namespace std;
/*
1)先使用快速排序,使得两个数组有序;
2)然后利用二分查找的方法,在数组B中查找;
3)其中,注意在数组B中,使用二分查找的起点,是根据上次查找的结果开确定的;这样可以进一步提高速度;
*/
int Sort(int array[],int low,int high)
{
int temp=array[low];
int po...
分类:
编程语言 时间:
2015-08-26 20:09:01
阅读次数:
721
package string;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class StringArray {...
分类:
编程语言 时间:
2015-08-25 12:54:09
阅读次数:
130
2-12. 两个有序链表序列的交集(20)时间限制400 ms内存限制64000 kB代码长度限制8000 B判题程序Standard已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式说明:输入分2行,分别在每行给出由若干个正整数构成的非降序序列,用-1表示序列的结...
分类:
其他好文 时间:
2015-08-20 16:49:47
阅读次数:
105
Html界面 区域:全选 1" name="CkArea" type="checkbox" value="" /> ...
分类:
其他好文 时间:
2015-08-20 13:02:28
阅读次数:
163
网页界面 区域:全选 " name="ckarea" type="checkbox" value=""/> ...
分类:
其他好文 时间:
2015-08-20 01:20:02
阅读次数:
126
如果一条边可行,那么删掉这条边后,剩下的图是二分图且该边的两端点颜色相同。那么可行的边必然属于所有奇环的交集,且不属于任何偶环。随便取一棵生成树,对于一条非树边,它形成了环:若是偶环,则将环上的边都标记为不能选。若是奇环,则将环上的边经过的奇环数都加一。可以用树链剖分维护前缀和做到$O(m\log ...
分类:
其他好文 时间:
2015-08-17 23:19:11
阅读次数:
134
动态规划,给定长度为n(≤1e6)的整数数组和整数m,选取m个连续且两两无交集的子区间,求所有方案中使得区间和最大的最大值。dp[i][j]表示结束位置(最后一个区间最后一个元素的位置)为i且选取区间数为j的最大值。容易得到以下状态转移方程:又:考虑到数组的规模和j的更新特征,使用一维滚动数组取代二...
分类:
其他好文 时间:
2015-08-16 19:38:42
阅读次数:
136