摘要: Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。 这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。该算法由美国数学家理查德•贝尔曼(Rich 阅读全文
posted @ 2019-07-29 23:56 _Ackerman 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 每年,农夫约翰的N(1 <= N <= 20,000)只牛会参加“MooFest”,一个来自世界各地的牛的社交聚会。 MooFest有许多活动,包括干草堆积,篱笆跳跃,把尾巴钉在农夫的身上...当奶牛都站在同一个地方排队,他们会大声喊叫,吼声几乎震耳欲聋。事实上,每年参加了这个活动后,一些奶牛已经失 阅读全文
posted @ 2019-07-29 23:48 _Ackerman 阅读(203) 评论(0) 推荐(0) 编辑
摘要: Description Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. Japan is tall island with N cities on the 阅读全文
posted @ 2019-07-29 23:34 _Ackerman 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 首先,先让我们了解下逆序对的概念: 如果存在正整数 i, j 使得 1 ≤ i < j ≤ n 而且 A[i] > A[j],则 <A[i], A[j]> 这个有序对称为 A 的一个逆序对,也称作逆序数。 现在直接拿POJ-2299作为例题来说下这个逆序对吧 具体的代码实现: 阅读全文
posted @ 2019-07-29 23:29 _Ackerman 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 树状数组基础 树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改&&区间求和. 另外一个拥有类似功能的是线段树. 具体区别和联系如下: 1.两者在复杂度上同级, 但是树状数组的常数明显优于线段树, 其编程复杂度也远小于线段树. 2.树状数组的作用被线段树完全涵盖, 凡是 阅读全文
posted @ 2019-07-29 16:15 _Ackerman 阅读(307) 评论(0) 推荐(0) 编辑
摘要: Increasing Subsequence (hard version) Increasing Subsequence (hard version) The only difference between problems C1 and C2 is that all values in input 阅读全文
posted @ 2019-07-29 00:17 _Ackerman 阅读(253) 评论(0) 推荐(0) 编辑