ACM
狼血wolfblood
北京交通大学
展开
-
Kruskal算法
克鲁斯卡尔(Kruskal)算法(只与边相关)算法描述:克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复杂度只和边又关系,可以证明其时间复杂度为O(eloge)。算法过程:1.将图各边按照权值进行排序2.将图遍历一次,找出权值最小的边,(条件:此次找出的边不能和已加入最小生成树集合的边构成环),若符合条件,则加入最小生成树的集合中。不符合条转载 2013-08-07 11:11:42 · 898 阅读 · 0 评论 -
Codeforces Round #230 (Div. 2) C. Blocked Points D. Tower of Hanoi
Tower of Hanoitime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe Tower of Hanoi is a well-known mathematic原创 2014-02-21 19:18:58 · 963 阅读 · 0 评论 -
poj 1004 遇到的printf问题
题目很简单,输入12个浮点数,输出平均值,第一个版本#include #include using namespace std;int main(){ double sum=0; double t; for(int i=0;i<12;i++) { cin >> t; sum+=t; } prin原创 2013-09-23 22:30:06 · 1152 阅读 · 0 评论 -
KMP字符串模式匹配详解
KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S 的下标0≤pos起存在和转载 2013-10-04 16:01:06 · 620 阅读 · 0 评论 -
poj 图论题目分类
062* 昂贵的聘礼 枚举等级限制+dijkstra1087* A Plug for UNIX 2分匹配1094 Sorting It All Out floyd 或 拓扑1112* Team Them Up! 2分图染色+DP1125 Stockbroker Grapevine FLOYD1135 Domino Effect 最短路1149* PI转载 2013-10-02 09:22:52 · 1345 阅读 · 0 评论 -
迪杰斯特拉算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。其基本思想是,设转载 2013-10-02 09:34:53 · 976 阅读 · 0 评论 -
图论500题
转自:http://blog.csdn.net/ffq5050139/article/details/7832991=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★转载 2013-10-02 09:19:25 · 882 阅读 · 0 评论 -
Dijkstra 算法次短路经的若干应用
1) 求可重复顶点的次短路径基本方法从起点 s 出发求一次最短路,用 ds[] 记录最短路径长度,从终点 t 对反向图求一次最短路径,dt[]记录最短距离,然后枚举每一条边 ,取 ds+ w(u,v)+ dt[v] 最小而又大于最短路径的就是次短路径。pku 3255 Roadblocks代码:#include #include #include #include #in转载 2013-10-01 19:08:03 · 1211 阅读 · 0 评论 -
ZOJ1353 Unimodal Palindromic Decompositions解题报告
#include #include #include #include using namespace std;unsigned num[1000][1000];void f(){ memset(num,0,sizeof(num)); num[1][1]=1; num[2][1]=1; num[2][2]=1; for(原创 2013-08-14 00:09:25 · 2059 阅读 · 0 评论 -
Prime算法
普利姆(Prime)算法(只与顶点相关) 算法描述:普利姆算法求最小生成树时候,和边数无关,只和定点的数量相关,所以适合求稠密网的最小生成树,时间复杂度为O(n*n)。算法过程:1.将一个图的顶点分为两部分,一部分是最小生成树中的结点(A集合),另一部分是未处理的结点(B集合)。2.首先选择一个结点,将这个结点加入A中,然后,对集合A中的顶点遍历,找转载 2013-08-07 11:13:20 · 807 阅读 · 0 评论 -
Longest Substring Without Repeating Characters-----LeetCode
题目Given a string, find the length of the longest substring without repeating characters.Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”, with the原创 2016-10-29 22:24:11 · 693 阅读 · 0 评论