diff --git "a/ACWing/src/LCA/Tarjan\346\261\202LCA.java" "b/ACWing/src/LCA/Tarjan\346\261\202LCA.java" index 0a45abaa2ac370b6562c5a0fe03d80ac397b4dba..624af0e33e31eee75f45adea95b2b16ad5d4c64b 100644 --- "a/ACWing/src/LCA/Tarjan\346\261\202LCA.java" +++ "b/ACWing/src/LCA/Tarjan\346\261\202LCA.java" @@ -66,7 +66,7 @@ public class Tarjan求LCA { for (int i = 0; i < m; i++) { addq(nextInt(), nextInt(), i); }//存储询问 - tarjan(root, 0); + tarjan(root, -1); for (int i = 0; i < m; i++) { bw.write(result[i] + "\n"); } diff --git "a/ACWing/src/LCA/\347\245\226\345\255\231\350\257\242\351\227\256.java" "b/ACWing/src/LCA/\347\245\226\345\255\231\350\257\242\351\227\256.java" index d3782f69da1b60d9383983d23cc56a4ac89a9dcf..b8df333c94d463d3e01087504039a34bd7c2ea4e 100644 --- "a/ACWing/src/LCA/\347\245\226\345\255\231\350\257\242\351\227\256.java" +++ "b/ACWing/src/LCA/\347\245\226\345\255\231\350\257\242\351\227\256.java" @@ -102,11 +102,16 @@ public class 祖孙询问 { h[b] = cnt++; } + /** + * bfs求深度和lca + * + * @param root + */ static void bfs(int root) { Arrays.fill(depth, inf); depth[0] = 0; - depth[root] = 1; - q.add(root); + depth[root] = 1;//规定根节点深度为1 + q.add(root);//加入根节点 while (!q.isEmpty()) { int t = q.poll(); for (int i = h[t]; i != 0; i = ne[i]) { @@ -115,7 +120,7 @@ public class 祖孙询问 { depth[j] = depth[t] + 1;//bfs拓展 q.add(j); up[j][0] = t;//记录第一个 - for (int k = 1; k <= 17; k++) {//记录后面的up + for (int k = 1; k <= 17; k++) {//记录后面的up,虽然有无效计算,但胜在好写 up[j][k] = up[up[j][k - 1]][k - 1]; } } diff --git a/ACWing/src/graph/dijkstra.java b/ACWing/src/graph/dijkstra.java index 193fa41302565fe24f3806a49c8375cbc9704f7d..503b85c0b0cafda46f9b6c0066c1dc8ff932ae96 100644 --- a/ACWing/src/graph/dijkstra.java +++ b/ACWing/src/graph/dijkstra.java @@ -55,11 +55,11 @@ public class dijkstra { c = nextInt(); add(a, b, c); } - Arrays.fill(dis, Integer.MAX_VALUE); dij(s); } private static void dij(int s) throws IOException { + Arrays.fill(dis, Integer.MAX_VALUE); q.add(new node(s, 0)); dis[s] = 0; while (!q.isEmpty()) { diff --git "a/ACWing/src/graph/\346\234\211\345\220\221\345\233\276\347\232\204\345\274\272\350\201\224\351\200\232\345\210\206\351\207\217/\345\217\227\346\254\242\350\277\216\347\232\204\347\211\233.java" "b/ACWing/src/graph/\346\234\211\345\220\221\345\233\276\347\232\204\345\274\272\350\201\224\351\200\232\345\210\206\351\207\217/\345\217\227\346\254\242\350\277\216\347\232\204\347\211\233.java" index 883dfb76d20970d2e7b924882b8d8b08568d7470..576d3a56e3176f1f90ee72afc753cbcf3f276853 100644 --- "a/ACWing/src/graph/\346\234\211\345\220\221\345\233\276\347\232\204\345\274\272\350\201\224\351\200\232\345\210\206\351\207\217/\345\217\227\346\254\242\350\277\216\347\232\204\347\211\233.java" +++ "b/ACWing/src/graph/\346\234\211\345\220\221\345\233\276\347\232\204\345\274\272\350\201\224\351\200\232\345\210\206\351\207\217/\345\217\227\346\254\242\350\277\216\347\232\204\347\211\233.java" @@ -3,7 +3,9 @@ package graph.有向图的强联通分量; import java.util.Scanner; /** + * tarjan求强联通分量 * https://www.luogu.com.cn/blog/zyb2624936151/tarjan + * */ @SuppressWarnings("all") public class 受欢迎的牛 {