小结
hitol
SDUT
展开
-
简单并查集小结。
小伙伴们最近都在疯狂的发博客啊。。。。我也来凑凑热闹。。。 先发个简单的并查集吧。。。 所谓的并查集算法是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 如果:给出各个元素之间的联系,要求将这些元素分成几个集合,每个集合中的元素直接或间接有联系。在这类问题中主要涉及的是对集合的合并和查找,因此将这种集合称为并查集。 主要操作:原创 2014-06-06 12:20:56 · 592 阅读 · 0 评论 -
priority_queue 的简单使用方法
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高进先出 (largest-in,first-out)的行为特征。原创 2014-08-04 17:26:17 · 3804 阅读 · 0 评论 -
HDU-1285--确定比赛名次 (拓扑排序)
确定比赛名次 Problem Description 有N个比赛队(1 Input 输入有若干组,每组中的第一行为二个数N(1 Output 给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。 其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入原创 2014-07-30 21:25:27 · 735 阅读 · 0 评论 -
中国剩余定理(转载)
“中国剩余定理”简介、算理及其应用 我国古代数学名著《孙子算经》中,记载这样一个问题: “今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何。”用现在的话来说就是:“有一批物品,3个3个地数余2个,5个5个地数余3个,7个7个地数余2个,问这批物品最少有多少个?” 这个问题的解题思路,被称为“孙子问题”、“鬼谷算”、“隔墙算”、“韩信点兵”等等。那么,这个问题怎呢?明朝数原创 2014-07-30 21:32:20 · 934 阅读 · 1 评论 -
01背包 HDU2602
#include int nn[10000],p[10000],f[10000][10000]; int max (int a,int b) { return a>b ? a:b; } int main () { int m,i,j,n,v; scanf ("%d",&m); while (m--) { scanf ("%d%d",&n,&原创 2014-02-12 13:27:30 · 678 阅读 · 0 评论 -
欧几里得 与 扩展欧几里得
欧几里得与扩展欧几里得 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 递归的方式: int gcd (int a,int b) { if (b == 0) return a; return gcd (b, a%b); } gcd函数的基本性质:gcd(a,b)=gcd(b,a)=gcd(-a,b)原创 2014-08-07 20:47:15 · 592 阅读 · 0 评论 -
最短路问题 小结
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径 组成的)中两结点之间的最短路径。 算法具体的形式包括: 确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。 确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点原创 2014-06-06 14:57:33 · 1191 阅读 · 1 评论 -
POJ-1659-Frogs' Neighborhood (Havel-Hakimi定理)
利用Havel-Hakimi定理可判定一个序列是否可图。 Havel-Hakimi定理: 由非负整数组成的非增序列s:d1,d2。。。dn(n>=2 , d1 >= 1)是可图的,当且仅当序列 s1:d2-1,d3-1,d4-1...d(d1+1)-1...dn 是可图的。序列s1中有n-1个非负整数,s序列中d1后的前d1个度数(即d2--d(d1+1))减一后构成s1中的前d1原创 2014-09-10 09:42:19 · 1250 阅读 · 0 评论