摘要: 图论(最短路)总结 关于图论最短路,是联赛常考的考点,需要熟悉掌握,下面总结一下关于最短路的算法。 算法一:弗洛伊德(floyd)算法 这个算法主要是用于求每对顶点(任意两点间的最短路)。是一个非常暴力的算法。 1.原理: 根据图的传递闭包思想: 即每次找一个“中转站K”,如果d[i][k]+d[j 阅读全文
posted @ 2019-04-14 15:57 smilke 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 动态规划学习心得 说实话吧,动态规划(DP)确实是一个比较难的知识点,对于初学者来说,是一个难过的坎(笔者的脸呢?开玩笑。)。动态规划就是我从初学开始遇到的最神奇的解法,它不同于暴力搜索,也不同于一般的贪心,能够以出乎人意料的时间复杂度(近似于O(n^2))解决一些难题,算法远远优于一般的深搜(O( 阅读全文
posted @ 2019-04-09 20:08 smilke 阅读(4329) 评论(2) 推荐(1) 编辑
摘要: 护卫队 题目描述 护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。因为街道是一条单行道,所以任何车辆都不能超车。桥能承受一个给定的最大承载量。 为了控制桥上的交通,桥两边各站一个指挥员。护卫车队被分成几个组,每组中的车辆都能同时通过该桥。当一组车队到达了桥的另一端,该端的指挥员就用电话通 阅读全文
posted @ 2019-03-09 20:09 smilke 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 题目描述 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数。 最初,A和B桶都是空的,而C桶是装满牛奶的。有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了。当然每一次灌注都是完全的。由于节约,牛奶不会有丢失。 写一个程序去帮助约翰找出当A桶是空的时候,C 阅读全文
posted @ 2019-03-08 20:23 smilke 阅读(746) 评论(0) 推荐(0) 编辑