http://poj.org/problem?id=1321 题意是给你一个n * n的矩阵,上面有若干块是可以放置棋子的,问你摆放k个棋子的所有可能性。这里用DFS求解,从...

http://poj.org/problem?id=1321 题意是给你一个n * n的矩阵,上面有若干块是可以放置棋子的,问你摆放k个棋子的所有可能性。这里用DFS求解,从...
http://acm.hdu.edu.cn/showproblem.php?pid=2066 题意:最短路问题,有多个源头和多个去向。解法是把全部的源点压缩成一个点,再跑最短...
http://acm.hdu.edu.cn/showproblem.php?pid=3790 题意:给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输...
使用堆优化Dijkstra算法,可以使其复杂度从O(V^2)降低到O(|E| log|V|)。
Floyd-Warshall算法使用DP方法来求解任意两点间的最短路问题。i到j的最短路分正好经过顶点k一次和完全不经过顶点k两种情况来讨论。不断的进行d[i][j] = m...
概述 一个算法是由控制结构(顺序,分支,循环)和原操作(指固有数据类型的操作)构成。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对所研究的问题来说是基本操作...
Bellman-Ford算法中的松弛操作必定只会发生在最短路径前导节点松弛成功过的节点上,用一个队列记录松弛过的节点,可以避免了冗余计算。复杂度可以降低到O(kE),k是个比...
使用C++ STL的next_permutation函数可以简单的枚举出一个升序排列的字符串的全排列,它包含在头文件 里。 用C类型字符串举一个例子: 另外,prev_per...
算法描述 Dijkstra算法是通过为每个顶点 v 保留目前为止所找到的从s到v的最短路径来工作的。初始时,原点 s 的路径权重被赋为 0 (d[s] = 0)。若对于顶点 ...
Bellman - Ford算法是求含 负权图 的单源最短路径算法,效率很低,但代码很容易写。其原理为持续地进行松弛(原文是这么写的,为什么要叫松弛,争议很大),在每次松弛时...
http://acm.hdu.edu.cn/showproblem.php?pid=2544 题面:最短路裸题。 Bellman-Ford算法:
对图的深度优先遍历: 对图的广度优先遍历:
http://codeforces.com/problemset/problem/96/A 生词:没有 题面:太水,不想说。
http://codeforces.com/problemset/problem/282/A 生词: peculiar a.奇怪的execute vt.处决,使生效 题面:...
http://codeforces.com/problemset/problem/231/A 生词: implement vt.使贯彻,使执行 题面: 太水,不想说。