2012年4月22日

HDOJ 1874 畅通工程续

摘要: 单源最短路径,Dijkstra,参考白书的写法;注意INF不能定义为0x7fffffff,因为后面相加可能会溢出,题目中距离最大为10000;这道题的变态之处在于有重边,遇到重边时需要更新w[i, j]和w[j, i],WA多次,15ms。# include <stdio.h># include <string.h># define INF 0x10ffffffint main(){ int k, i, j, n, m, s, t; char v[201]; int x, d[201], w[201][201]; while (~scanf("%d%d&quo 阅读全文

posted @ 2012-04-22 14:46 getgoing 阅读(245) 评论(0) 推荐(0) 编辑

HDOJ 1875 畅通工程再续

摘要: 示例的结果为1414.0,kruskal的返回类型写成了int,查了好几遍都没发现问题;还是MST,kruskal,并查集,路径压缩;# include <stdio.h># include <stdlib.h># include <math.h># define MAXN 105typedef struct{ int u, v; double d;} Bridge;int m;int p[MAXN], a[MAXN][2];Bridge b[MAXN*50];double kruskal(int n);int find(int x){ return x== 阅读全文

posted @ 2012-04-22 13:46 getgoing 阅读(473) 评论(0) 推荐(0) 编辑

HDOJ 1879 继续畅通工程

摘要: 依然是:MST, kruskal,并查集,路径压缩;在LD下的CB中老是提示segmentation fault,不知什么错误,回到win运行一闪而过而没有输出,查了半天发现查函数有一处错误,继续,仍然无输出,怀疑变量命名错误,更改,仍然无输出,最后发现文件保存的路径和输入文件的路径不一致,怎么样,流水账记得不错吧?500MS,看了排行榜上没有0MS的,明白这道题500MS不算浪费时间。# include <stdio.h># include <stdlib.h>typedef struct { int u, v; int w;}Road;int m, n, p[105 阅读全文

posted @ 2012-04-22 12:38 getgoing 阅读(295) 评论(0) 推荐(0) 编辑

HDOJ 1863 畅通工程

摘要: MST,kruskal,并查集,路径压缩;参考白书的做法:另定义一个边序号数组,排序时按照边权的大小排;1A,表示已经对WA,TLE,RE等过敏,一提交心里就发毛啊……代码有点长,重新回到 CB 不太适应。# include <stdio.h># include <stdlib.h># define MAXN 105int n, m;int w[MAXN], u[MAXN], v[MAXN], r[MAXN], p[MAXN];int kruskal(void);int cmp(const void *x, const void *y){return (w[*(int* 阅读全文

posted @ 2012-04-22 10:10 getgoing 阅读(305) 评论(0) 推荐(0) 编辑

导航