2012年8月21日

HDU 1421 搬寝室 (dp)

摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1421思路:动态规划dp借鉴代码如下: 1 #include<cstring> 2 #include<iostream> 3 #include<algorithm> 4 #define P(x,y) ((x-y)*(x-y)) 5 using namespace std; 6 int a[2010],d[2010][2010]; 7 int main() 8 { 9 int i,j,n,k;10 while(cin>>n>>k){11 for( 阅读全文

posted @ 2012-08-21 20:38 mycapple 阅读(190) 评论(0) 推荐(0) 编辑

POJ 3767 I Wanna Go Home (dijkstra算法)

摘要: 地址:http://poj.org/problem?id=3767题目分析:由于战争,一个商人想从城市1,回到自己的家城市2,其中城市1始终是由领导1,城市2始终由领导2,其中,商人回家的路中只能有一条路上连接由两个领导领导的城市,还有就是给出的路上双向的,也就是如果城市1能到城市2,那么城市2也同样能到城市1,这是关键。由于这个题中从1类城市走到2类城市后就不能再回去,只能穿过一次,所以先存为双向路,后面再根据不同类型的城市,把双向路变为单向路N个城市,城市编号为1,2,3,……NM条路,路为双向路。 提供每条路的长度及端点城市编号,每两个城市之间直接连通的路最多一条。这N个城市分为两个集合 阅读全文

posted @ 2012-08-21 19:25 mycapple 阅读(464) 评论(0) 推荐(0) 编辑

HDU 2544 最短路 (dijkstra算法)

摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2544思路:(dijkstra算法)代码如下: 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define Max 0xfffffff 5 int m[10010][10010],p[10010]; 6 bool vis[10010]; 7 int vexnum,arcnum; 8 void dijstra() 9 {10 int i,j,k,t,min;11 memset(vis,0 阅读全文

posted @ 2012-08-21 16:15 mycapple 阅读(1185) 评论(0) 推荐(1) 编辑

HDU 1142 A Walk Through the Forest (dijkstra算法)

摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1142思路1:题目大意是给你一个图。起点为1,终点为2然后点a到点b是合法的判断(Notice 1:)是当b存在一个到终点的距离小于a到终点的最小距离,求从起点到终点的路径数。Notice 1:不合法并非是断路,合法指回家的时候只按dis[b] < dis[a]的路线走、dis[]表示到终点2的最短路径, 满足dis[b] < dis[a], 表示这样a->b的是可选择的。 就是说每次回家时选择从距起点(最短距离)近的点 向 距起点(最短距离)远的点走, 求这样的路线条数。dp[i] 阅读全文

posted @ 2012-08-21 12:28 mycapple 阅读(296) 评论(0) 推荐(0) 编辑

导航