From bad3705a5419d1eedf840c73cd7dbd38dcc5db3b Mon Sep 17 00:00:00 2001 From: algorithmzuo Date: Sat, 15 Nov 2025 10:02:31 +0800 Subject: [PATCH] modify code --- src/class183/Code01_Ratio1.java | 9 +++++---- src/class183/Code01_Ratio2.java | 9 +++++---- src/class183/Code02_Template1.java | 9 +++++---- src/class183/Code02_Template2.java | 9 +++++---- src/class183/Code03_Race1.java | 14 +++++++------- src/class183/Code03_Race2.java | 9 +++++---- src/class183/Code04_Tree1.java | 9 +++++---- src/class183/Code04_Tree2.java | 9 +++++---- src/class183/Code05_CloseVertices1.java | 9 +++++---- src/class183/Code05_CloseVertices2.java | 9 +++++---- src/class183/Code06_Maschera1.java | 14 +++++++------- src/class183/Code06_Maschera2.java | 9 +++++---- src/class183/Code07_Message1.java | 14 +++++++------- src/class183/Code07_Message2.java | 9 +++++---- src/class184/Code01_Capital1.java | 14 +++++++------- src/class184/Code01_Capital2.java | 9 +++++---- 16 files changed, 88 insertions(+), 76 deletions(-) diff --git a/src/class183/Code01_Ratio1.java b/src/class183/Code01_Ratio1.java index d96e07a3..dca87e2d 100644 --- a/src/class183/Code01_Ratio1.java +++ b/src/class183/Code01_Ratio1.java @@ -42,19 +42,20 @@ public static void addEdge(int u, int v, int w) { head[u] = cntg; } - public static int getSize(int u, int fa) { + public static void getSize(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize(v, u); + getSize(v, u); + siz[u] += siz[v]; } } - return siz[u]; } public static int getCentroid(int u, int fa) { - int half = getSize(u, fa) >> 1; + getSize(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code01_Ratio2.java b/src/class183/Code01_Ratio2.java index faf3157f..f3c99fa6 100644 --- a/src/class183/Code01_Ratio2.java +++ b/src/class183/Code01_Ratio2.java @@ -40,19 +40,20 @@ // head[u] = cntg; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code02_Template1.java b/src/class183/Code02_Template1.java index 68a49516..d5e855f1 100644 --- a/src/class183/Code02_Template1.java +++ b/src/class183/Code02_Template1.java @@ -47,19 +47,20 @@ public static void addEdge(int u, int v, int w) { head[u] = cntg; } - public static int getSize(int u, int fa) { + public static void getSize(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize(v, u); + getSize(v, u); + siz[u] += siz[v]; } } - return siz[u]; } public static int getCentroid(int u, int fa) { - int half = getSize(u, fa) >> 1; + getSize(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code02_Template2.java b/src/class183/Code02_Template2.java index ce36062c..5934f081 100644 --- a/src/class183/Code02_Template2.java +++ b/src/class183/Code02_Template2.java @@ -45,19 +45,20 @@ // head[u] = cntg; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code03_Race1.java b/src/class183/Code03_Race1.java index 9470e29f..6627eaca 100644 --- a/src/class183/Code03_Race1.java +++ b/src/class183/Code03_Race1.java @@ -68,19 +68,19 @@ public static void addEdge(int u, int v, int w) { } // 得到子树大小递归版,java会爆栈,C++可以通过 - public static int getSize1(int u, int fa) { + public static void getSize1(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize1(v, u); + getSize1(v, u); + siz[u] += siz[v]; } } - return siz[u]; } // 得到子树大小迭代版 - public static int getSize2(int cur, int fa) { + public static void getSize2(int cur, int fa) { stacksize = 0; push(cur, fa, 0, 0, -1); while (stacksize > 0) { @@ -106,12 +106,12 @@ public static int getSize2(int cur, int fa) { } } } - return siz[cur]; } public static int getCentroid(int u, int fa) { - // int half = getSize1(u, fa) >> 1; - int half = getSize2(u, fa) >> 1; + // getSize1(u, fa); + getSize2(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code03_Race2.java b/src/class183/Code03_Race2.java index a62419b5..94318192 100644 --- a/src/class183/Code03_Race2.java +++ b/src/class183/Code03_Race2.java @@ -44,19 +44,20 @@ // head[u] = cntg; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code04_Tree1.java b/src/class183/Code04_Tree1.java index 28fae8a1..e2e16301 100644 --- a/src/class183/Code04_Tree1.java +++ b/src/class183/Code04_Tree1.java @@ -39,19 +39,20 @@ public static void addEdge(int u, int v, int w) { head[u] = cntg; } - public static int getSize(int u, int fa) { + public static void getSize(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize(v, u); + getSize(v, u); + siz[u] += siz[v]; } } - return siz[u]; } public static int getCentroid(int u, int fa) { - int half = getSize(u, fa) >> 1; + getSize(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code04_Tree2.java b/src/class183/Code04_Tree2.java index 0fc0704d..9ed2a307 100644 --- a/src/class183/Code04_Tree2.java +++ b/src/class183/Code04_Tree2.java @@ -36,19 +36,20 @@ // head[u] = cntg; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code05_CloseVertices1.java b/src/class183/Code05_CloseVertices1.java index 2f629eea..bd753faf 100644 --- a/src/class183/Code05_CloseVertices1.java +++ b/src/class183/Code05_CloseVertices1.java @@ -81,19 +81,20 @@ public static int sum(int i) { return ret; } - public static int getSize(int u, int fa) { + public static void getSize(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize(v, u); + getSize(v, u); + siz[u] += siz[v]; } } - return siz[u]; } public static int getCentroid(int u, int fa) { - int half = getSize(u, fa) >> 1; + getSize(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code05_CloseVertices2.java b/src/class183/Code05_CloseVertices2.java index 5e2ae10b..3331a872 100644 --- a/src/class183/Code05_CloseVertices2.java +++ b/src/class183/Code05_CloseVertices2.java @@ -70,19 +70,20 @@ // return ret; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code06_Maschera1.java b/src/class183/Code06_Maschera1.java index d54a0a79..9d0a1ad3 100644 --- a/src/class183/Code06_Maschera1.java +++ b/src/class183/Code06_Maschera1.java @@ -104,19 +104,19 @@ public static int sum(int i) { } // 得到子树大小递归版,java会爆栈,C++可以通过 - public static int getSize1(int u, int fa) { + public static void getSize1(int u, int fa) { siz[u] = 1; for (int e = head[u]; e > 0; e = nxt[e]) { int v = to[e]; if (v != fa && !vis[v]) { - siz[u] += getSize1(v, u); + getSize1(v, u); + siz[u] += siz[v]; } } - return siz[u]; } // 得到子树大小迭代版 - public static int getSize2(int cur, int fa) { + public static void getSize2(int cur, int fa) { stacksize = 0; push(cur, fa, 0, 0, -1); while (stacksize > 0) { @@ -142,12 +142,12 @@ public static int getSize2(int cur, int fa) { } } } - return siz[cur]; } public static int getCentroid(int u, int fa) { - // int half = getSize1(u, fa) >> 1; - int half = getSize2(u, fa) >> 1; + // getSize1(u, fa); + getSize2(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code06_Maschera2.java b/src/class183/Code06_Maschera2.java index be15cf90..d5b3106d 100644 --- a/src/class183/Code06_Maschera2.java +++ b/src/class183/Code06_Maschera2.java @@ -69,19 +69,20 @@ // return ret; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = head[u]; e; e = nxt[e]) { // int v = to[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class183/Code07_Message1.java b/src/class183/Code07_Message1.java index 14de968e..9e5f16c1 100644 --- a/src/class183/Code07_Message1.java +++ b/src/class183/Code07_Message1.java @@ -77,19 +77,19 @@ public static void addQuery(int u, int t, int id) { } // 得到子树大小递归版,java会爆栈,C++可以通过 - public static int getSize1(int u, int fa) { + public static void getSize1(int u, int fa) { siz[u] = 1; for (int e = headg[u]; e > 0; e = nextg[e]) { int v = tog[e]; if (v != fa && !vis[v]) { - siz[u] += getSize1(v, u); + getSize1(v, u); + siz[u] += siz[v]; } } - return siz[u]; } // 得到子树大小迭代版 - public static int getSize2(int cur, int fa) { + public static void getSize2(int cur, int fa) { stacksize = 0; push(cur, fa, 0, -1); while (stacksize > 0) { @@ -115,12 +115,12 @@ public static int getSize2(int cur, int fa) { } } } - return siz[cur]; } public static int getCentroid(int u, int fa) { - // int half = getSize1(u, fa) >> 1; - int half = getSize2(u, fa) >> 1; + // getSize1(u, fa); + getSize2(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class183/Code07_Message2.java b/src/class183/Code07_Message2.java index 5084aebb..4351447c 100644 --- a/src/class183/Code07_Message2.java +++ b/src/class183/Code07_Message2.java @@ -57,19 +57,20 @@ // headq[u] = cntq; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = headg[u]; e; e = nextg[e]) { // int v = tog[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true; diff --git a/src/class184/Code01_Capital1.java b/src/class184/Code01_Capital1.java index a68b4035..3b0f8531 100644 --- a/src/class184/Code01_Capital1.java +++ b/src/class184/Code01_Capital1.java @@ -73,19 +73,19 @@ public static void addNode(int color, int node) { } // 得到子树大小递归版,java会爆栈,C++可以通过 - public static int getSize1(int u, int fa) { + public static void getSize1(int u, int fa) { siz[u] = 1; for (int e = headg[u]; e > 0; e = nextg[e]) { int v = tog[e]; if (v != fa && !vis[v]) { - siz[u] += getSize1(v, u); + getSize1(v, u); + siz[u] += siz[v]; } } - return siz[u]; } // 得到子树大小迭代版 - public static int getSize2(int cur, int fa) { + public static void getSize2(int cur, int fa) { stacksize = 0; push(cur, fa, 0, -1); while (stacksize > 0) { @@ -111,12 +111,12 @@ public static int getSize2(int cur, int fa) { } } } - return siz[cur]; } public static int getCentroid(int u, int fa) { - // int half = getSize1(u, fa) >> 1; - int half = getSize2(u, fa) >> 1; + // getSize1(u, fa); + getSize2(u, fa); + int half = siz[u] >> 1; boolean find = false; while (!find) { find = true; diff --git a/src/class184/Code01_Capital2.java b/src/class184/Code01_Capital2.java index 0759475e..ab83403c 100644 --- a/src/class184/Code01_Capital2.java +++ b/src/class184/Code01_Capital2.java @@ -50,19 +50,20 @@ // headc[color] = cntc; //} // -//int getSize(int u, int fa) { +//void getSize(int u, int fa) { // siz[u] = 1; // for (int e = headg[u]; e; e = nextg[e]) { // int v = tog[e]; // if (v != fa && !vis[v]) { -// siz[u] += getSize(v, u); +// getSize(v, u); +// siz[u] += siz[v]; // } // } -// return siz[u]; //} // //int getCentroid(int u, int fa) { -// int half = getSize(u, fa) >> 1; +// getSize(u, fa); +// int half = siz[u] >> 1; // bool find = false; // while (!find) { // find = true;