From 917c198eac93e4e2aa90b68f29294d7bad0b031e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Tue, 2 Jan 2024 08:06:57 +0800 Subject: [PATCH] 'commit' --- .../T3/MiniPathExtend}/1131.cpp | 0 .../T3/MiniPathExtend}/1131.md | 0 .../T3/MiniPathExtend}/1134.drawio | 0 .../T3/MiniPathExtend}/1134.md | 0 .../T3/MiniPathExtend}/1134_Bfs.cpp | 0 .../T3/MiniPathExtend}/1134_Dijkstra.cpp | 0 .../T3/MiniPathExtend}/1137.md | 50 +++++++++---------- .../T3/MiniPathExtend}/1137_1.cpp | 30 +++++------ .../T3/MiniPathExtend}/1137_2.cpp | 26 +++++----- .../T3/MiniPathExtend}/383.cpp | 0 .../T3/MiniPathExtend}/383.md | 0 11 files changed, 53 insertions(+), 53 deletions(-) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1131.cpp (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1131.md (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1134.drawio (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1134.md (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1134_Bfs.cpp (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1134_Dijkstra.cpp (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1137.md (79%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1137_1.cpp (57%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/1137_2.cpp (69%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/383.cpp (100%) rename TangDou/{AcWing/MiniPath => AcWing_TiGao/T3/MiniPathExtend}/383.md (100%) diff --git a/TangDou/AcWing/MiniPath/1131.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1131.cpp similarity index 100% rename from TangDou/AcWing/MiniPath/1131.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1131.cpp diff --git a/TangDou/AcWing/MiniPath/1131.md b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1131.md similarity index 100% rename from TangDou/AcWing/MiniPath/1131.md rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1131.md diff --git a/TangDou/AcWing/MiniPath/1134.drawio b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1134.drawio similarity index 100% rename from TangDou/AcWing/MiniPath/1134.drawio rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1134.drawio diff --git a/TangDou/AcWing/MiniPath/1134.md b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1134.md similarity index 100% rename from TangDou/AcWing/MiniPath/1134.md rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1134.md diff --git a/TangDou/AcWing/MiniPath/1134_Bfs.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1134_Bfs.cpp similarity index 100% rename from TangDou/AcWing/MiniPath/1134_Bfs.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1134_Bfs.cpp diff --git a/TangDou/AcWing/MiniPath/1134_Dijkstra.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1134_Dijkstra.cpp similarity index 100% rename from TangDou/AcWing/MiniPath/1134_Dijkstra.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1134_Dijkstra.cpp diff --git a/TangDou/AcWing/MiniPath/1137.md b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137.md similarity index 79% rename from TangDou/AcWing/MiniPath/1137.md rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1137.md index cbfb451..d800308 100644 --- a/TangDou/AcWing/MiniPath/1137.md +++ b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137.md @@ -87,32 +87,32 @@ int h[N], e[M], w[M], ne[M], idx; void add(int a, int b, int c) { e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++; } -int d[N]; // 最短距离数组 +int dis[N]; // 最短距离数组 bool st[N]; // 是否进过队列 // 迪杰斯特拉 void dijkstra() { - memset(d, 0x3f, sizeof d); // 初始化大 - memset(st, 0, sizeof st); // 初始化为未出队列过 - priority_queue, greater> pq; // 小顶堆 - pq.push({0, 0}); // 出发点入队列 - d[0] = 0; // 出发点距离0 - - while (pq.size()) { - auto t = pq.top(); - pq.pop(); + memset(dis, 0x3f, sizeof dis); // 初始化大 + memset(st, 0, sizeof st); // 初始化为未出队列过 + priority_queue, greater> q; // 小顶堆 + q.push({0, 0}); // 出发点入队列 + dis[0] = 0; // 出发点距离0 + + while (q.size()) { + auto t = q.top(); + q.pop(); int u = t.second; if (st[u]) continue; st[u] = true; for (int i = h[u]; ~i; i = ne[i]) { int j = e[i]; - if (d[j] > d[u] + w[i]) { - d[j] = d[u] + w[i]; - pq.push({d[j], j}); + if (dis[j] > dis[u] + w[i]) { + dis[j] = dis[u] + w[i]; + q.push({dis[j], j}); } } } // 注意:此处的S是终点,不是起点,不是起点,不是起点! - printf("%d\n", d[S] == INF ? -1 : d[S]); + printf("%d\n", dis[S] == INF ? -1 : dis[S]); } int main() { while (cin >> n >> m >> S) { @@ -126,11 +126,11 @@ int main() { add(a, b, c); } int T; - scanf("%d", &T); + cin >> T; while (T--) { int x; cin >> x; - add(0, x, 0); + add(0, x, 0); // 超级源点法 } dijkstra(); } @@ -153,25 +153,25 @@ void add(int a, int b, int c) { } int n, m; // n个点,m条边 int S; // 出发点 -int d[N]; // 距离数组 +int dis[N]; // 距离数组 bool st[N]; // Dijkstra是不是入过队列 void dijkstra() { priority_queue, greater> q; q.push({0, S}); - d[S] = 0; + dis[S] = 0; while (q.size()) { auto t = q.top(); - int u = t.second, dist = t.first; + int u = t.second; q.pop(); if (st[u]) continue; st[u] = true; - + for (int i = h[u]; ~i; i = ne[i]) { int j = e[i]; - if (d[j] > dist + w[i]) { - d[j] = dist + w[i]; - q.push({d[j], j}); + if (dis[j] > dis[u] + w[i]) { + dis[j] = dis[u] + w[i]; + q.push({dis[j], j}); } } } @@ -181,7 +181,7 @@ int main() { // 初始化 memset(st, 0, sizeof st); memset(h, -1, sizeof h); - memset(d, 0x3f, sizeof d); + memset(dis, 0x3f, sizeof dis); idx = 0; int ans = INF; @@ -197,7 +197,7 @@ int main() { cin >> T; while (T--) { cin >> x; - ans = min(ans, d[x]); + ans = min(ans, dis[x]); } printf("%d\n", ans == INF ? -1 : ans); } diff --git a/TangDou/AcWing/MiniPath/1137_1.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_1.cpp similarity index 57% rename from TangDou/AcWing/MiniPath/1137_1.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_1.cpp index 766140e..d6e0524 100644 --- a/TangDou/AcWing/MiniPath/1137_1.cpp +++ b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_1.cpp @@ -11,32 +11,32 @@ int h[N], e[M], w[M], ne[M], idx; void add(int a, int b, int c) { e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++; } -int d[N]; // 最短距离数组 +int dis[N]; // 最短距离数组 bool st[N]; // 是否进过队列 // 迪杰斯特拉 void dijkstra() { - memset(d, 0x3f, sizeof d); // 初始化大 - memset(st, 0, sizeof st); // 初始化为未出队列过 - priority_queue, greater> pq; // 小顶堆 - pq.push({0, 0}); // 出发点入队列 - d[0] = 0; // 出发点距离0 + memset(dis, 0x3f, sizeof dis); // 初始化大 + memset(st, 0, sizeof st); // 初始化为未出队列过 + priority_queue, greater> q; // 小顶堆 + q.push({0, 0}); // 出发点入队列 + dis[0] = 0; // 出发点距离0 - while (pq.size()) { - auto t = pq.top(); - pq.pop(); + while (q.size()) { + auto t = q.top(); + q.pop(); int u = t.second; if (st[u]) continue; st[u] = true; for (int i = h[u]; ~i; i = ne[i]) { int j = e[i]; - if (d[j] > d[u] + w[i]) { - d[j] = d[u] + w[i]; - pq.push({d[j], j}); + if (dis[j] > dis[u] + w[i]) { + dis[j] = dis[u] + w[i]; + q.push({dis[j], j}); } } } // 注意:此处的S是终点,不是起点,不是起点,不是起点! - printf("%d\n", d[S] == INF ? -1 : d[S]); + printf("%d\n", dis[S] == INF ? -1 : dis[S]); } int main() { while (cin >> n >> m >> S) { @@ -50,11 +50,11 @@ int main() { add(a, b, c); } int T; - scanf("%d", &T); + cin >> T; while (T--) { int x; cin >> x; - add(0, x, 0); + add(0, x, 0); // 超级源点法 } dijkstra(); } diff --git a/TangDou/AcWing/MiniPath/1137_2.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_2.cpp similarity index 69% rename from TangDou/AcWing/MiniPath/1137_2.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_2.cpp index 713b360..28a5a16 100644 --- a/TangDou/AcWing/MiniPath/1137_2.cpp +++ b/TangDou/AcWing_TiGao/T3/MiniPathExtend/1137_2.cpp @@ -10,25 +10,25 @@ void add(int a, int b, int c) { } int n, m; // n个点,m条边 int S; // 出发点 -int d[N]; // 距离数组 +int dis[N]; // 距离数组 bool st[N]; // Dijkstra是不是入过队列 void dijkstra() { - priority_queue, greater> pq; - pq.push({0, S}); - d[S] = 0; - while (pq.size()) { - auto t = pq.top(); - int u = t.second, dist = t.first; - pq.pop(); + priority_queue, greater> q; + q.push({0, S}); + dis[S] = 0; + while (q.size()) { + auto t = q.top(); + int u = t.second; + q.pop(); if (st[u]) continue; st[u] = true; for (int i = h[u]; ~i; i = ne[i]) { int j = e[i]; - if (d[j] > dist + w[i]) { - d[j] = dist + w[i]; - pq.push({d[j], j}); + if (dis[j] > dis[u] + w[i]) { + dis[j] = dis[u] + w[i]; + q.push({dis[j], j}); } } } @@ -38,7 +38,7 @@ int main() { // 初始化 memset(st, 0, sizeof st); memset(h, -1, sizeof h); - memset(d, 0x3f, sizeof d); + memset(dis, 0x3f, sizeof dis); idx = 0; int ans = INF; @@ -54,7 +54,7 @@ int main() { cin >> T; while (T--) { cin >> x; - ans = min(ans, d[x]); + ans = min(ans, dis[x]); } printf("%d\n", ans == INF ? -1 : ans); } diff --git a/TangDou/AcWing/MiniPath/383.cpp b/TangDou/AcWing_TiGao/T3/MiniPathExtend/383.cpp similarity index 100% rename from TangDou/AcWing/MiniPath/383.cpp rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/383.cpp diff --git a/TangDou/AcWing/MiniPath/383.md b/TangDou/AcWing_TiGao/T3/MiniPathExtend/383.md similarity index 100% rename from TangDou/AcWing/MiniPath/383.md rename to TangDou/AcWing_TiGao/T3/MiniPathExtend/383.md