数据结构
文章平均质量分 77
飘谊
编程爱好者。。
展开
-
stack,queue,vector用法总结。
分别包含在文件,,定义:stack s;queue q;vector v;stack的方法:push()的向容器顶部里插入元素;pop()是删除容器顶部的元素;top()返回容器顶部的元素;size()返回容器的元素个数;begin()是返回一个位于容器的第一个元素的迭代器;end()当然是最后了;empt转载 2012-02-26 13:21:28 · 626 阅读 · 0 评论 -
HDU OJ 2255 奔小康赚大钱【KM模版】
原题连接::http://acm.hdu.edu.cn/showproblem.php?pid=2255代码:#include#include#include#includeusing namespace std;const int maxn = 305;const int INF = 2147483647;int w[maxn][maxn];int lx[max原创 2013-03-22 13:51:12 · 2574 阅读 · 0 评论 -
HDU OJ 2586 How far away ?【LCA的Tarjan离线算法】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2586题意:给n个点,n-1条边,保证任意两点有且只有一条路,给m次查询——每次查询给两个点 i ,j 求这两点之间的距离。思路:若用 一般的 最短路 来写,时间复杂度比较高,会超时。这题时利用 LCA的Tarjan离线算法LCA 就是 求 点 i,j 的最近公共祖先 k: d [ ]原创 2012-08-04 09:00:59 · 968 阅读 · 0 评论 -
POJ 1113 Wall 【凸包入门】
原题连接:http://poj.org/problem?id=1113题意:给 n 个点,你见一个围墙,使所有的点到围墙的距离不小于 l 。求围墙长度。。思路:先求出n个点的 凸包,然后根据凸包建一个围墙,围墙的一部分就是 凸包长度,另一部分 是一个 以 l 为半径的 圆!!代码:#include#include#include#includeusing namespa原创 2012-09-01 09:57:42 · 1366 阅读 · 1 评论 -
HDU OJ 1269 迷宫城堡【有向图强连通分量的Tarjan算法 入门】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1269题意:~~~~~;思路:就是判断图是否是 强连通图;有向图强连通分量的Tarjan算法:[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。原创 2012-08-18 09:20:56 · 1832 阅读 · 0 评论 -
欧几里德和扩展欧几里德算法
欧几里德算法: 也叫辗转相除法,用于计算两个正整数 a ,b 的最大公约数。 公式 gcd(a, b) = gcd (b ,a%b); 证明:http://baike.baidu.com/view/1241014.htm扩展欧几里德算法: 对于不完全为0的整数 a b ,必存在原创 2012-09-13 14:55:14 · 716 阅读 · 0 评论 -
邻接表写法
一种图的邻接表写法:#include#includeconst int Max_n=1000;const int Max_e=10000;int top;struct Tnode{ int head; }H[Max_n];struct Eadge{ int v; // 点 int s; // 权值 int原创 2012-08-25 16:25:22 · 936 阅读 · 0 评论 -
HDU OJ 4193 Non-negative Partial Sums 【单调队列】
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4193单调队列详解:参考 http://blog.csdn.net/dgq8211/article/details/7430726 ,讲的很好。AC代码:#include#includeconst int M=1000002<<1;int sum[M],q[M];int h原创 2012-07-12 09:36:00 · 2062 阅读 · 0 评论 -
HUD OJ 1232 畅通工程 和 HDU OJ 1233还是畅通工程【并查集和克鲁斯卡尔算法】
原题链接;http://acm.hdu.edu.cn/showproblem.php?pid=1232 .... http://acm.hdu.edu.cn/showproblem.php?pid=11232 就是 判断 有几个城市是孤立的,未连通。。用并查集可以解决这个问题。。说说并查集吧。。l 并查集:(union原创 2012-03-27 09:35:33 · 1322 阅读 · 0 评论 -
nyoj 301 递推求值 和 nyoj 148 fibonacci数列(二) 【矩阵】
原题链接:nyoj 301 :http://acm.nyist.net/JudgeOnline/problem.php?pid=301nyoj 148 :http://acm.nyist.net/JudgeOnline/problem.php?pid=148矩阵:在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是一个n行p列的矩原创 2012-04-10 19:41:26 · 1395 阅读 · 0 评论 -
NYOJ 348 Magic【双向队列】
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=348题意: 给你n张牌,由你来变一个魔术。(我开始搞错了,wrong了,郁闷了半天。) 第一次:将最上面的一张牌,依次放到牌底部,然后 把现在最上面的一张牌放在桌子上,他是 1; 第二次:将最上面的二张牌,依次放在牌底部,然后 把现在最上面的一张牌放在桌子上,他是原创 2012-04-24 13:44:51 · 981 阅读 · 0 评论 -
HDUOJ1874 畅通工程续 和 NYOJ 115 城市平乱【Dijkstra 算法】
原题链接:nyoj 115:http://acm.nyist.net/JudgeOnline/problem.php?pid=115 hduoj 1874: http://acm.hdu.edu.cn/showproblem.php?pid=1874 一、Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),原创 2012-03-29 08:55:39 · 1919 阅读 · 0 评论 -
NYOJ 55 懒省事的小明 【优先队列】
标准库默认使用元素类型的优先队列的第一种用法,也是最常用的用法:priority_queueint> qi;通过故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。priority_queueint, vect原创 2012-03-10 10:24:39 · 2476 阅读 · 0 评论 -
【二分查找】学习总结
二分查找: (1) 一般的二分查找: 例如:找球号问题: 在某一国度里流行着一种游戏。游戏规则为:在一堆球中,每个球上都有一个整数编号i(0 这就是普通的二分查找,把所有的球号存入ans[ ]数组了,从小到大排序,然后二分查找,假设共n个球吧(数组中0----n-1) 首先边界 fir=0,end=n-1,原创 2012-08-05 09:20:54 · 2314 阅读 · 3 评论