摘要: 这道题可以考察图论的掌握程度(算半道水题) 题目如下 输入 第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数。接下 阅读全文
posted @ 2016-09-13 13:09 PencilWang 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 关于tarjan,在下觉得这个算法从本质上是一种暴力求强连通分量的方法,但事实上这也是最有效的求强连通分量的方法之一,它对于处理各种强连通分量中奇怪问题,都可以直接转化,所以比较通用和常见。 什么是tarjan 粗略的描述一下(详细描述在百度里很详细) 首先每个点都有时间戳和最小子树戳。 时间戳的定 阅读全文
posted @ 2016-09-13 12:38 PencilWang 阅读(557) 评论(2) 推荐(1) 编辑
摘要: 本来我是想把这两个算法分开写描述的,但是SPFA其实就是Dijkstra的稀疏图优化,所以其实代码差不多,所以就放在一起写了。 因为SPFA是Dijkstra的优化,所以我想来讲讲Dijkstra。 什么是Dijkstra Dijkstra是一种求单源最短路的基础算法,时间复杂度在不加堆优化的情况下 阅读全文
posted @ 2016-09-11 22:16 PencilWang 阅读(2693) 评论(1) 推荐(1) 编辑
摘要: 在你辛苦调试一道DP题,遇到瓶颈的时候,你是否感到一股洪荒之力遏制住你的思想,使你给题库贡献了一倍的WA、RE、TLE量,却没有AC过一次? 在这时,你应该考虑的是砸电脑再次重新考虑整个题目,再应对自己的思路考虑,是否你的思路对应这个题目有局限性? 那在这里,就给大家提供一道基础的扩展思路完全性的题 阅读全文
posted @ 2016-09-03 22:45 PencilWang 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 今天我们来安利线段树,这个东西一段时间不写的话就很容易忘(@可能看到这篇博客的某人),这是一个关于O(logn)级别的更改与查询(期望)的数据结构, 那么,对于线段树的裸题,有多种,分为(1.区间修改区间查询,2.单点修改区间查询,3.区间修改单点查询)(问我怎么没有单点修改单点查询的,请自裁) 但 阅读全文
posted @ 2016-08-18 01:49 PencilWang 阅读(254) 评论(0) 推荐(1) 编辑
摘要: 这是一篇简单的匈牙利算法的理解篇,首先匈牙利算法的名字听起来就和匈牙利牛肉饭一样让人产生食欲(?)233。 好的接下来我们开始正式带大家了解什么叫匈牙利算法。 那么要了解算法的基本原理,我们先看一张图 在这张图里,我们可以清楚的看出图上的点被我们分成了两种,一种是数字,另一种是字母,并且数字与数字、 阅读全文
posted @ 2016-08-14 02:29 PencilWang 阅读(3213) 评论(5) 推荐(2) 编辑
摘要: 第一次看到羊和车问题是我在物理老师的课上(当然不是班主任的课),在第二次我就打算写一篇博客了,原因及其简单,这是一个典型的理性战胜感性的故事。 题目是这样,你参加了一个简单的娱乐游戏,在你面前有三扇门,其中一扇门之后是一辆车,其他两扇门之后是只羊(就是什么也没有,除非你愿意开一只山羊出门),你可以选 阅读全文
posted @ 2016-05-01 04:12 PencilWang 阅读(1812) 评论(0) 推荐(0) 编辑
摘要: openjudge 8464 这道题其实很简单,算是DP的基础题,比较适合开拓DP思维。 题目比较有欺骗性,其实稍微想想就可以解决,因为题意说第一次卖出后才能买入,所以我们可以考虑枚举断点,所以题目一下变得简单,我们线性扫两遍,算最大值就好了。 具体为: 由于不能同时进行两次交易,所以枚举断点,一遍 阅读全文
posted @ 2015-12-10 20:48 PencilWang 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 这篇博客可能字数比较多,而且很难讲清楚,我会努力给你们讲清楚; 首先,放苹果是一道DP,之所以难,是因为很难想到,我的确有同学用三维数组做出来,然而三维的的确比二维好理解,但三维复杂度太高,虽然DP一般数据都给的不大,但复杂度低的算法才是好算法,所以接下来我会给讲一个二维的放苹果的思路; 首先,我们 阅读全文
posted @ 2015-11-07 20:31 PencilWang 阅读(296) 评论(2) 推荐(2) 编辑