摘要:
一开始拿到这个题感觉floyd可能会超,还是写了写,果然1WA+1TLE,之后觉得用dijkstra试试看看S和D会不会比较小,还是1WA+1TLE,最后还是借鉴了别人的做法。把他的家作为起点,与他相邻的城市作为权值为0的边,这样就转换成单源起点的最短路问题用dijkstra直接O(n^2)过键代码 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 using namespace std;12 #define MAX(a, 阅读全文
摘要:
用dijkstra来练练手 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 using namespace std;12 #define MAX(a,b) (a > b ? a : b)13 #define MIN(a,b) (a < b ? a : b)14 #define MAXN 1000000115 #define INF 100000000716 #define mem(a) memset(a,0, 阅读全文
摘要:
看了看floyd和dijkstra,然后就找了两个练习来捉 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 using namespace std;12 #define MAX(a,b) (a > b ? a : b)13 #define MIN(a,b) (a x)w[a][b] = w[b][a] = x;79 }80 int s,t;81 scanf("%d%d",&... 阅读全文
摘要:
最近发现以前的东西都忘得差不多了,在这里刷刷水题并查集: 1 int find_parent(int x) 2 { 3 return x = p[x] ? x : p[x] = find_parent(p[x]); 4 } 5 6 void merg(int a,int b) 7 { 8 int x = find_parent(a); 9 int y = find_parent(b);10 if(x != y)11 {12 p[x] = y;13 }14 } 1 #include 2 #include 3 #include 4 ... 阅读全文