数据结构1
XerxesSimon
折柳为笔..月光为笺..画下你月华般的容颜.. 烟染三月..提诗两行..刻下我如梦般的臆想..
展开
-
01 Matrix
01 MatrixTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 625 Accepted Submission(s): 134Problem DescriptionIt's reall转载 2016-01-17 20:52:50 · 292 阅读 · 0 评论 -
最佳淘汰算法
4272: 最佳淘汰算法Time Limit: 12 Sec Memory Limit: 128 MBSubmit: 412 Solved: 64DescriptionLyf在做操作系统作业的时候,遇到了一题要他实现下Opt算法(全称页面置换最佳淘汰算法)。可是Lyf发现最近好忙啊,于是他想请他的学弟,学妹们帮他来完成。作业里的内容是这样的:提出最佳页面淘汰算法原创 2017-03-29 08:57:33 · 5567 阅读 · 0 评论 -
二叉树
根据后序和中序遍历输出先序遍历 (25分)本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数NNN(≤30\le 30≤30),是树中结点的个数。随后两行,每行给出NNN个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder原创 2017-03-08 18:48:52 · 374 阅读 · 0 评论 -
在N个乱序数字中查找第k大的数字
若随机选取枢纽,线性期望时间O(N)#includeusing namespace std;const int N=1005;int a[N];int qs(int l,int r){ int x=a[l]; while(l<r) { while(l=x) r--; a[l]=a[r]; while(l<r&&a转载 2017-03-10 22:26:45 · 808 阅读 · 0 评论 -
并查集
并查集模板int finds(int x){ return fa[x]==x?x:fa[x]=finds(fa[x]);}bool bing(int x,int y){ int fx=finds(x); int fy=finds(y); if(fx==fy) return 0; fa[fy]=fx; return 1;}经典原创 2017-03-03 23:15:28 · 375 阅读 · 0 评论 -
树的构建
传送门:http://acm.nyist.net/JudgeOnline/problem.php?pid=1278#includeusing namespace std;struct node{ node *l,*r; int data,num;};int a[55][20];node *root,*q;node *node_t(int x,int num){原创 2017-01-17 15:48:27 · 275 阅读 · 0 评论 -
优先队列(priority_queue)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4393#include#include#include#include#includeusing namespace std;struct node{ int f,id; bool operator<(const node& b)const { re原创 2016-03-19 21:18:13 · 291 阅读 · 0 评论 -
容器(vector)
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout(5)使用迭代器访问元素.vectorint>::iterator it;for(it=vec.begin();it原创 2017-01-17 08:34:26 · 447 阅读 · 0 评论 -
字典树
题目:http://acm.hdu.edu.cn/search.php?action=listproblem参考:http://blog.csdn.net/cambridgeacm/article/details/7752247#include 2 #include //memset函数的头文件 3 #include 4 using namespace std; 5 stru原创 2016-03-19 21:10:41 · 200 阅读 · 0 评论 -
最短路径
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5718题意: n个点(0~n-1),m条边,每条边有两个权值,一个是时间,一个是花费,其中0是首都,要让0点到其他所有点的总时间最短,同时要让花费最小。 二重限制的最短路,稍微改一下即可。关于正确性的一些思考:对prim算法有一点理解的话,容易转载 2016-05-14 11:24:46 · 273 阅读 · 0 评论 -
赫夫曼树的构建
给定报文中26个字母a-z及空格的出现频率{64, 13, 22, 32, 103, 21, 15, 47, 57, 1, 5, 32, 20, 57, 63, 15, 1, 48,51, 80, 23, 8, 18, 1, 16, 1, 168},构建赫夫曼树并为这27个字符编制赫夫曼编码,并输出。模拟发送端,从键盘输入字符串,以%为结束标记,在屏幕上输出输入串的编码;模拟接收端,从键盘上输入0原创 2016-04-15 10:25:54 · 1657 阅读 · 0 评论 -
树状数组
引用请注明出处:http://blog.csdn.net/int64ago/article/details/7429868 写下这个标题,其实心里还是没底的,与其说是写博帖,不如说是做总结。第一个接触树状数组还是两年前,用什么语言来形容当时的感觉呢?……太神奇了!真的,无法表达出那种感觉,她是那么的优雅,10行不到的代码,却把事情干的如此出色!没有了解她原理的前提下即使把转载 2016-04-27 13:07:10 · 197 阅读 · 0 评论 -
线段树
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 56100 Accepted Submission(s): 21870Problem Description很多学校流行一种比较的习惯。原创 2016-01-22 10:53:13 · 251 阅读 · 0 评论 -
超级线段树
https://www.bnuoj.com/v3/problem_show.php?pid=49100#include#include#includeusing namespace std;const int N=1000005;int num[N*3];void build(){ memset(num,0,sizeof(num));}struct node{i原创 2016-04-26 21:01:44 · 270 阅读 · 0 评论 -
最小生成树
例题一:http://acm.hdu.edu.cn/showproblem.php?pid=1879AC代码:#include//c++#include//数学公式#include//malloc#include#include#include//输入输出#include//快排#include//队列#include//优先队列#include//栈#include/原创 2016-01-23 10:20:30 · 324 阅读 · 0 评论 -
网络流
网络流很多问题都可以转化成网络流问题,如运输货物时的物流问题,水流问题,匹配问题等等。网络是一个各条边都有权值和方向的图。网络流问题,一般情况下我们会把各种网络问题抽象成网络流问题,网络流是满足以下性质的网络:每一条边拥有一个最大的容量c,即该条边可以容纳的最大流量,f是流过该边的实际流量,且总有f求最大流的算法:EK算法:EK算法中涉及的三个关键词:残留网络,增广原创 2016-04-09 16:16:25 · 348 阅读 · 0 评论 -
欧拉图,哈密顿图
两图的讲解:http://www.doc88.com/p-7532430559335.html欧拉图:半欧拉图:哈密顿图:半哈密顿图:一笔画问题:http://acm.nyist.net/JudgeOnline/problem.php?pid=42AC代码:#include//c++#include//数学公式#include//malloc#include#i原创 2016-01-28 11:46:01 · 903 阅读 · 0 评论 -
set 和 multiset
set的各成员函数列表如下:c++ stl容器set成员函数:begin()--返回指向第一个元素的迭代器c++ stl容器set成员函数:clear()--清除所有元素c++ stl容器set成员函数:count()--返回某个值元素的个数c++ stl容器set成员函数:empty()--如果集合为空,返回truec++ stl容器set成员函数:end原创 2017-01-18 09:16:37 · 479 阅读 · 0 评论