摘要: 拓扑排序并不很常见,但也不容小觑,所以也要认真去做,不能马虎。 来一发定义: 由题可知,当每个点的入度为0时,就轮到它输出了,然后把每个相连点的入度减一。 阅读全文
posted @ 2018-02-01 21:36 DukeLv 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 最短路径是一个很常见的问题,这里有3种方法,可供参考。 阅读全文
posted @ 2018-02-01 21:09 DukeLv 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 树是一种很常用的数据结构,日后的学习中会经常碰到运用树的知识。 阅读全文
posted @ 2018-02-01 20:55 DukeLv 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 我个人比较喜欢Kruskal算法,所以就把这个方法写了一下,但过不了洛谷,70分。 思路是先全读入,再排序,一条一条加边。运用并查集。 再加一个并查集的板子,日后备用。 阅读全文
posted @ 2018-02-01 20:50 DukeLv 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 堆(heap)不是stl中的东西。。。它分为 max heap 和min heap。 但我不想用这些,而是采用了priority_queue,优先队列,定义在queue中。顾名思义,它的作用就是无论怎么输入,第一个输出都是最大的。 当然,这个优先级可以改变:priority_queue<int,ve 阅读全文
posted @ 2018-01-26 17:36 DukeLv 阅读(446) 评论(0) 推荐(1) 编辑
摘要: 其实今天我们主要讲的是搜索,但是留作业不知道怎么就突然全变成栈了。 其实栈和队列没什么区别,只是一个先进先出,一个先进后出。基本操作也是一样的。 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。 向一个栈插入 阅读全文
posted @ 2018-01-21 19:39 DukeLv 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 说到链表,不得不提指针。。。虽然个人一点不喜欢指针,但为了链表也得学。 链表基本操作: 1.类型和变量的说明struct Node{ int data;Node *next;};Node *p;2.申请存储单元 //动态申请、空间大小由指针变量的基类型决定p=new Node;3.指针变量的赋值指针 阅读全文
posted @ 2018-01-20 21:07 DukeLv 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 今天算是假期集训的第一天,第一次一整天只学信息,刺激啊~~~虽然很累,但是还是要整理一下嘛。 高精度 之前学过高精度加法,所以不多说,直接出代码: 今天新学了一个高精乘法,总体思路是一样的,无非分为3个模块,分别是:读入数字,进行运算,输出得数。 第一点,读入数字。和加法一样,读入一个字符串,再一一 阅读全文
posted @ 2018-01-20 20:42 DukeLv 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 五校联考真是一个奇怪的东西,对大家都有害,但是大家还都屁颠屁颠的去做。。。(就不提八中出的自杀式物理卷了,玉石俱焚) 二分查找是一个好东西,至于好在哪,我也不知道,也许它是后面某个算法的基础。不管怎样,学了再说。 先看一下代码(嫌麻烦,没把函数单拿出来,见谅) 题目: 个人题解: 有趣吧!也许不是很 阅读全文
posted @ 2018-01-17 20:47 DukeLv 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列,顾名思义当然是求两个字符串的最长公共子序列啦,当然,这只是一道非常菜的动规,所以直接附上代码: 而最长回文子序列和第一道题有什么关系呢?答案其实很简单,只要把原来的字符串倒着保存一遍,然后进行第一题的比较就可以了,代码如下: 有了第二题的启发,最长上升和下降子序列也很好想了,就是把所 阅读全文
posted @ 2017-12-26 20:15 DukeLv 阅读(585) 评论(0) 推荐(1) 编辑