- 博客(48)
- 资源 (1)
- 收藏
- 关注
转载 伸展树
伸展树,或者叫自适应查找树,是一种用于保存有序集合的简单高效的数据结构。伸展树实质上是一个二叉查找树。允许查找,插入,删除,删除最小,删除最大,分割,合并等许多操作,这些操作的时间复杂度为O(logN)。由于伸展树可以适应需求序列,因此他们的性能在实际应用中更优秀。伸展树支持所有的二叉树操作。伸展树不保证最坏情况下的时间复杂度为O(logN)。伸展树的时间复杂度边界是均摊的。尽管一个单独的操作可...
2019-12-31 21:27:39 200
转载 后缀树&后缀数组&LCP
后缀树:字符串匹配算法一般都分为两个步骤,一预处理,二匹配。KMP和AC自动机都是对模式串进行预处理,后缀树和后缀数组则是对文本串进行预处理。后缀树的性质:存储所有 n(n-1)/2 个后缀需要 O(n) 的空间,n 为的文本(Text)的长度;构建后缀树需要 O(dn) 的时间,d 为字符集的长度(alphabet);对模式(Pattern)的查询需要 O(dm) 时间,...
2019-12-31 17:51:24 1357
原创 高级数据结构:广义表(期末拾遗)
广义表的深度:近似于形成树的高度,表面上就是查左括号的个数长度:元素的个数,元素指的是相对于表面的表而言(元素也可以是表)
2019-12-31 17:08:58 438
原创 poj 3264 Balanced Lineup线段树
Language:Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 77771 Accepted: 35567Case Time Limit: 2000MSDescriptionFor the daily milking, Farmer John’s N cows (1 ≤ N ≤ 50...
2019-12-28 22:53:22 180
转载 dup和dup2函数(配图+详细对比)
dup和dup2函数 </h1> <div class="clear"></div> <div class="postBody"> 下面两个函数都可用来复制一个现存的文件描述符:?1234#include<unist...
2019-12-28 18:12:45 468
转载 文件描述符和文件指针的区别
文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符。而文件描述符是...
2019-12-28 18:04:02 234
转载 关于文件描述符(很详尽)
文件描述符和指针的区别,请看博文http://blog.chinaunix.net/uid-20672257-id-190104...
2019-12-28 18:00:26 625
转载 读者-写者问题1--读者优先
读者优先是最简单的情况,因此不做过多阐述//读者优先int rcount = 0;semaphore file; //用于读者和写者互斥访问semaphore rmutex; //用于读者进程互斥修改rcount writer() { P(file); do_writing; V(file);}reader(){ P(rmutex); ...
2019-12-23 22:06:56 268
转载 读者-写者问题3-写者优先(说的很明白)
//写者优先 int wcount = 0; //用于记录写者数量 int rcount = 0; //用于记录读者数量semaphore rmutex = 1; //用于读者进程互斥修改rcountsemaphore wmutex = 1; //用于写者进程互斥修改wcountsemaphore file = 1; //用于读者写者互斥访问file semphor...
2019-12-23 22:04:27 1550 2
转载 读者-写者问题2-公平竞争(说的很明白)
首先要明确一下:1.读者到达,并不能立马进入读者队列2.这里的公平指的是读者和写者有相同的访问file的优先级,即写者和读者是按照到达的先后顺序访问file的。2.若读者队列不为空,此时到达的写者进程必须等待读者队列中的读者进程全部结束后才可开始写操作, //公平竞争int rcount = 0;semaphore rmutex = 1; //用于读者进程互斥修改rco...
2019-12-23 22:00:56 1278 2
转载 读者写者问题(读者优先、写者优先、公平竞争)
读者优先:1.写者、读者互斥访问文件资源。2.多个读者可以同时访问文件资源。3.只允许一个写者访问文件资源。具体实现:1.设置信号量fileSrc实现读写者对临界资源的访问。2.设置计数器readCount来统计访问临界资源的读者数目,设置信号量readCountSignal完成对readCount计数器资源的互斥访问。/初始化读者队列为0,文件资源的初始值为1/ int readC...
2019-12-23 21:52:54 913
原创 open judge Freda的越野跑
1:Freda的越野跑查看提交统计提问总时间限制: 1000ms 内存限制: 262144kB描述Freda报名参加了学校的越野跑。越野跑共有N人参加,在一条笔直的道路上进行。这N个人在起点处站成一列,相邻两个人之间保持一定的间距。比赛开始后,这N个人同时沿着道路向相同的方向跑去。换句话说,这N个人可以看作x轴上的N个点,在比赛开始后,它们同时向x轴正方向移动。假设越野跑的距离足够远,这N个人的...
2019-12-23 19:08:22 391
原创 poj apple tree
#include <iostream>#include <cstdio>#include <vector>using namespace std;const int ns = 100005;int c[ns];int p[ns];int mystart[ns], myend[ns];bool vis[ns];vector<int> ...
2019-12-20 22:18:45 146
原创 poj cube stacking
#include <cstring>#include <iostream>using namespace std;int parent[30005];int sum[30005];int getroot(int a){ if (parent[a] != a) { int ra = getroot(parent[a]); ...
2019-12-20 22:18:06 103
原创 poj the suspects
#include <iostream>#include <cstring>using namespace std;int parent[30005];int getroot(int a){ if(parent[a] != a) { parent[a] = getroot(parent[a]); } return pa...
2019-12-20 22:17:32 143
转载 图解B+树的插入和删除(一看就懂)
图解B+树的插入和删除(一看就懂)一, M阶B+树的定义(M阶是指一个节点最多能拥有的孩子数,M>2):图1.1 3阶B+树 &...
2019-12-20 11:48:45 816
原创 高级数据结构:最近餐馆
3:最近餐馆查看提交统计提问总时间限制: 5000ms 内存限制: 98304kB描述每到饭点,就又到了一日几度的小L纠结去哪吃饭的时候了。因为有太多太多好吃的地方可以去吃,而小L又比较懒不想走太远,所以小L会先找到距离他最近的M家餐馆然后再做筛选。小L现在所在的位置和每家餐馆的位置用同一笛卡尔坐标系中的点表示,而点与点之间的距离为欧几里得距离,对于点p = (p1, p2,…, pn)...
2019-12-18 20:52:18 808
原创 优先队列:促销活动
4:促销活动查看提交统计提问总时间限制: 6000ms 内存限制: 65536kB描述Great Bytelandish超市联盟想请你编写一个程序模拟计算促销活动的开销促销活动遵守以下规则:参加促销活动的客户,可以在消费结束后将自己的消费账单投入一个指定的投票箱里当一天的促销活动结束时,将从投票箱中选出两份账单:一份是消费金额最大的账单,一份是消费金额最小的账单。最大金额账单对应的客...
2019-12-18 19:23:40 202
原创 多分树静态索引
什么是静态索引?生成时间:文件创建、初始装入记录时生成不可改变:一旦生成就固定下来,在系统运行(例如、删记录)过程中索引结构并不改变,只有当文件再组织时才允许改变索引结构什么叫“文件再组织”?特点:组织索引一般不用二叉树而采用多分树(粒度变粗),能大幅减少访问外存的次数什么是多分树?多分树是由二叉树进化而来的访问一个叶结点查找二叉树:访问六次外存(层数:6)查找多分树:访问两次外...
2019-12-18 15:13:08 616
转载 红黑树详细分析(个人感觉很详细的一个)
1.红黑树简介红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作...
2019-12-18 13:16:51 195 2
转载 最小边覆盖 & 最小路径覆盖 & 最小顶点覆盖 & 最大独立集 & 最大团
最小边覆盖 = 最大独立集 = |V| - 最大匹配数这个是在原图是二分图上进行的最小路径覆盖和最小边覆盖不同,不要求给的图是二分图,而是要求是N x N的有向图,不能有环,然后根据原图构造二分图,构造方法是将点一分为二,如,i分为i1和i2然后如果i和j有边,那么就在i1和j2之间连一条边。由此构成二分图然后最小路径覆盖 = n-m,n为原图的点的个数,m为新造二分图的最大匹配。证明也是特...
2019-12-17 17:30:07 636
原创 数据结构与算法:倒排索引
1:倒排索引查看提交统计提问总时间限制: 1000ms 内存限制: 131072kB描述给定一些文档,要求求出某些单词的倒排表。对于一个单词,它的倒排表的内容为出现这个单词的文档编号。输入第一行包含一个数N,1 <= N <= 1000,表示文档数。接下来N行,每行第一个数ci,表示第i个文档的单词数。接下来跟着ci个用空格隔开的单词,表示第i个文档包含的单词。文档从1...
2019-12-17 17:17:34 1579
原创 计算几何:Most Distant Point from the Sea(半平面交)
001:Most Distant Point from the Sea查看提交统计提问总时间限制: 5000ms 内存限制: 65536kB描述The main land of Japan called Honshu is an island surrounded by the sea. In such an island, it is natural to ask a question:...
2019-12-17 17:16:38 282
原创 计算几何:poj 1228 Grandpa's Estate
002:Grandpa’s Estate查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述Being the only living descendant of his grandfather, Kamran the Believer inherited all of the grandpa’s belongings. The most valuable one w...
2019-12-14 20:57:41 205
原创 计算几何:poj 1039 pipe
001:Pipe查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述The GX Light Pipeline Company started to prepare bent pipes for the new transgalactic light pipeline. During the design phase of the new pipe shape the...
2019-12-14 12:37:17 203
转载 数据结构:C语言实现构建哈夫曼树
1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2、结点的权及带权路径长度若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。3、树的带权路径长度树的带权路径长度规定...
2019-12-09 22:10:11 258
转载 vs上运行c++程序时显示错误无法打开.exe进行写入(补充)
针对VS编译时提示:“无法打开xxx.exe进行写入”,分析其触发情况及产生原因,并提出解决方案。触发通常出现在,编译时出现中断错误,点中断后会出现如下提示:如果不进行上图的强制“立即停止”操作,则程序会一直卡在这里,等待调试完全停止,窗口才会关闭。但是如果“立即停止”,则下一次再进行编译时,即会出现如题“无法打开xxx.exe进行写入”的错误。原因如上图提示所述,当强制“立即停止”时,...
2019-12-08 18:49:32 18078 2
原创 vs上运行c++程序时显示错误无法打开.exe进行写入
今天调试程序,之前可以运行,后来改了一下就显示无法打开.exe进行写入。搞了半天,一直以为是代码的问题最后把所有运行的软件都关闭了,运行就成功了。后来又试了一下,发现是我的命令窗口打开的问题,关闭就好了。...
2019-12-08 18:47:41 3166 11
原创 知识点摘抄:数字后面+UL是什么?
如:在内核中看到: 0x00ff0000UL 是什么情况?答:U: unsigned L:long默认存储是int,加上后表示 unsigned long
2019-12-07 09:21:26 2121
原创 something
I want to write my life, for myself and for the people who are lucky, patient, interested and curious.And also I want to let my time valuable.I don’t want to waste my life.Be a true man whom you wi...
2019-12-06 21:37:21 171
原创 计算几何:Myacm Triangles
002:Myacm Triangles查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述There has been considerable archeological work on the ancient Myacm culture. Many artifacts have been found in what have been called power f...
2019-12-06 16:56:28 244
原创 计算几何:Intersecting Lines(不优雅)
001:Intersecting Lines查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three w...
2019-12-06 15:25:38 197
原创 计算几何模板(修改版)
#include <cmath>#include <iostream>#include <string>using namespace std;struct CVector{ double x, y; CVector(double xx, double yy) { x = xx; y = yy;...
2019-12-06 13:04:33 95
原创 计算几何模板
class CVector{ double x, y;};CVector operator+(CVector p, CVector q){ return CVector(p.x + q.x, p.y + q.y);}CVector operator-(CVector p, CVector q){ return CVector(p.x - q.x, p.y - ...
2019-12-06 12:22:10 158
转载 为什么你总是在抱怨
身边有这样一类朋友,他们总是对自己身边的环境有各种各样的不满意。有时候抱怨自己的工作太机械重复没有意思,有时候羡慕身边的人看起来过着特别幸福的日子,还有的时候责怪自己想要去改变但却总是没机会开始。不知道他们有没有想过这个问题——“为什么我总是在抱怨”?其实这并不是一个容易找到答案的问题,因为当你想要探究抱怨背后的真相时,实际上就是开始面对自我,“自我”并不是桃花源,而是深不见底瘴气弥漫的深渊。...
2019-12-05 22:22:26 283
转载 为什么要早起
早点起床,你的一天有48个小时倘若八点前起床就称为早起的话,那么自打上了高中之后,我就开始早起了。可是今天要说的早起,指的是六点前起床的早起,从读研以来,已坚持了三个多月,但哪怕只是这么短的一段时间的坚持,同样可以明显感受到我与过去的不同。下面就结合自己的实践,来聊聊为什么要早起,以及早起给我带来了什么。之前的两篇“为什么”系列的文章,大家还挺喜欢的,分别是《为什么要写博客》和《为什么要读研究...
2019-12-05 22:19:31 230
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人