hdu4396:http://acm.hdu.edu.cn/showproblem.php?pid=4396题意:一个无向带权图,然后给出起点s,终点e,让你求s到e的最短路径,但是这里的路径有要求的。每经过一条边会得到10单位的财富,这条路径必须得到的财富至少k值。题解:一开始以为是DP,看了别人...
分类:
其他好文 时间:
2014-07-19 21:10:58
阅读次数:
233
Frogger
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 24879
Accepted: 8076
Description
Freddy Frog is sitting on a stone in the middle of a lake. Sudde...
分类:
其他好文 时间:
2014-07-16 13:48:50
阅读次数:
486
Wormholes
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 29971
Accepted: 10844
Description
While exploring his many farms, Farmer John has discovered a ...
分类:
其他好文 时间:
2014-07-15 12:40:21
阅读次数:
341
这同样是一道搜索题,所不同的是要搜索的图是三维的而不是二维的。但这并没什么大的改变,只是增加了两个搜索的方向而已。
要注意的地方是,所给出的起点终点的坐标是按照 列,行,层的顺序。
与DFS不同,BFS能保证所搜到的路径一定是最短路径,所以我们不需要维护一个多维(此处为3维)数组来记录访问到每一点的最小步数,只需要维护一个多维数组来标记是否走过就可以了。DFS中是要不停回溯来找最短路径的,但是BFS是不需要的。这是BFS本身的性质所决定的,BFS能保证第一次搜索到某一点时所走的路径就是到该点的最短路径。以后...
分类:
其他好文 时间:
2014-07-14 13:42:05
阅读次数:
181
点击打开链接
类似A strange lift的写法,之前一直返回RE,感觉有点不科学,数据较小。后来看discuss,居然输入还要考虑去重。
题意:略;
解析:最短路问题,但是有两种情况,因此需要根据具体情况来考虑。我采用的是构造两张图,然后在使用Dijkstra中将dis与cost放在一个结构体中,便于理解。其它就是A strange lift的一点变形
#include
#inc...
分类:
其他好文 时间:
2014-07-14 13:13:17
阅读次数:
288
求最少去掉几个公交站使得从s到t的最短路径大于k。迭代加深搜索。#include #include #include using namespace std;#define maxn 60#define maxm 50000int n,m,K,cnt,up;int head[maxn],pre[ma...
分类:
其他好文 时间:
2014-07-14 09:29:57
阅读次数:
221
之前我们介绍了用动态规划的方法来解决一些最优化的问题。但对于有些最优化问题来说,用动态规划就是“高射炮打蚊子”,采用一些更加简单有效的方法就可以解决。贪心算法就是其中之一。贪心算法是使所做的选择看起来是当前最佳的,期望通过所做的局部最优选择来产生一个全局最优解。...
分类:
其他好文 时间:
2014-07-13 18:06:01
阅读次数:
377
利用C语言来解决类似迷宫的问题,下面例子分别用两种方法来解决![Problem]There is a maze as shown in the diagram below. In the maze in the form of a 100*100 matrix, the white backgrou...
分类:
编程语言 时间:
2014-07-13 10:07:16
阅读次数:
285
Dijkstra算法:
首先,引进一个辅助向量D,它的每个分量D[i]表示当前所找到的从始点v到每个终点vi的的长度:如D[3]=2表示从始点v到终点3的路径相对最小长度为2。这里强调相对就是说在算法过程中D的值是在不断逼近最终结果但在过程中不一定就等于长度。它的初始状态为:若从v到vi有弧,则D为弧上的权值;否则置D为∞。显然,长度为 D[j]=Min{D | vi∈V} 的路径就是从...
分类:
其他好文 时间:
2014-07-12 23:44:15
阅读次数:
330
和分治法一样,动态规划也是通过组合子问题的解而解决整个问题的。分治法是指将问题划分为一个一个独立的子问题,递归地求解各个子问题然后合并子问题的解而得到原问题的解。与此不同,动态规划适用于子问题不是相互独立的情况,即各个子问题包含公共的子子问题。在这种情况下,如果用分治法会多做许多不必要的工作,重复求解相同的子子问题。而动态规划将每个子问题的解求解的结果放在一张表中,避免了重复求解。...
分类:
其他好文 时间:
2014-07-12 19:20:19
阅读次数:
258