Skip to content

Commit ec04b22

Browse files
committed
modify code
1 parent af69d96 commit ec04b22

8 files changed

+475
-284
lines changed

src/class166/Code01_SegmentTreeDivideConquer2.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
//const int MAXN = 5001;
1313
//const int MAXM = 500001;
1414
//const int MAXT = 5000001;
15+
//
1516
//int n, m;
1617
//
1718
//int op[MAXM];

src/class166/Code02_CheckBipartiteGraph2.java

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -27,105 +27,105 @@
2727
//bool ans[MAXN];
2828
//
2929
//void addEdge(int i, int x, int y) {
30-
// nxt[++cnt] = head[i];
31-
// tox[cnt] = x;
32-
// toy[cnt] = y;
33-
// head[i] = cnt;
30+
// nxt[++cnt] = head[i];
31+
// tox[cnt] = x;
32+
// toy[cnt] = y;
33+
// head[i] = cnt;
3434
//}
3535
//
3636
//int find(int i) {
37-
// while (i != father[i]) {
37+
// while (i != father[i]) {
3838
// i = father[i];
3939
// }
40-
// return i;
40+
// return i;
4141
//}
4242
//
4343
//void Union(int x, int y) {
44-
// int fx = find(x);
45-
// int fy = find(y);
46-
// if (siz[fx] < siz[fy]) {
47-
// int tmp = fx;
48-
// fx = fy;
49-
// fy = tmp;
50-
// }
51-
// father[fy] = fx;
52-
// siz[fx] += siz[fy];
53-
// rollback[++opsize][0] = fx;
54-
// rollback[opsize][1] = fy;
44+
// int fx = find(x);
45+
// int fy = find(y);
46+
// if (siz[fx] < siz[fy]) {
47+
// int tmp = fx;
48+
// fx = fy;
49+
// fy = tmp;
50+
// }
51+
// father[fy] = fx;
52+
// siz[fx] += siz[fy];
53+
// rollback[++opsize][0] = fx;
54+
// rollback[opsize][1] = fy;
5555
//}
5656
//
5757
//void undo() {
58-
// int fx = rollback[opsize][0];
59-
// int fy = rollback[opsize--][1];
60-
// father[fy] = fy;
61-
// siz[fx] -= siz[fy];
58+
// int fx = rollback[opsize][0];
59+
// int fy = rollback[opsize--][1];
60+
// father[fy] = fy;
61+
// siz[fx] -= siz[fy];
6262
//}
6363
//
6464
//void add(int jobl, int jobr, int jobx, int joby, int l, int r, int i) {
65-
// if (jobl <= l && r <= jobr) {
66-
// addEdge(i, jobx, joby);
67-
// } else {
68-
// int mid = (l + r) >> 1;
69-
// if (jobl <= mid) {
65+
// if (jobl <= l && r <= jobr) {
66+
// addEdge(i, jobx, joby);
67+
// } else {
68+
// int mid = (l + r) >> 1;
69+
// if (jobl <= mid) {
7070
// add(jobl, jobr, jobx, joby, l, mid, i << 1);
7171
// }
72-
// if (jobr > mid) {
72+
// if (jobr > mid) {
7373
// add(jobl, jobr, jobx, joby, mid + 1, r, i << 1 | 1);
7474
// }
75-
// }
75+
// }
7676
//}
7777
//
7878
//void dfs(int l, int r, int i) {
79-
// bool check = true;
80-
// int unionCnt = 0;
81-
// for (int ei = head[i]; ei > 0; ei = nxt[ei]) {
82-
// int x = tox[ei], y = toy[ei], fx = find(x), fy = find(y);
83-
// if (fx == fy) {
84-
// check = false;
85-
// break;
86-
// } else {
87-
// Union(x, y + n);
88-
// Union(y, x + n);
89-
// unionCnt += 2;
90-
// }
91-
// }
92-
// if (check) {
93-
// if (l == r) {
94-
// ans[l] = true;
95-
// } else {
96-
// int mid = (l + r) >> 1;
97-
// dfs(l, mid, i << 1);
98-
// dfs(mid + 1, r, i << 1 | 1);
99-
// }
100-
// } else {
101-
// for (int k = l; k <= r; k++) {
79+
// bool check = true;
80+
// int unionCnt = 0;
81+
// for (int ei = head[i]; ei > 0; ei = nxt[ei]) {
82+
// int x = tox[ei], y = toy[ei], fx = find(x), fy = find(y);
83+
// if (fx == fy) {
84+
// check = false;
85+
// break;
86+
// } else {
87+
// Union(x, y + n);
88+
// Union(y, x + n);
89+
// unionCnt += 2;
90+
// }
91+
// }
92+
// if (check) {
93+
// if (l == r) {
94+
// ans[l] = true;
95+
// } else {
96+
// int mid = (l + r) >> 1;
97+
// dfs(l, mid, i << 1);
98+
// dfs(mid + 1, r, i << 1 | 1);
99+
// }
100+
// } else {
101+
// for (int k = l; k <= r; k++) {
102102
// ans[k] = false;
103103
// }
104-
// }
105-
// for (int k = 1; k <= unionCnt; k++) {
106-
// undo();
104+
// }
105+
// for (int k = 1; k <= unionCnt; k++) {
106+
// undo();
107107
// }
108108
//}
109109
//
110110
//int main() {
111111
// ios::sync_with_stdio(false);
112112
// cin.tie(nullptr);
113113
// cin >> n >> m >> k;
114-
// for (int i = 1; i <= n * 2; i++) {
115-
// father[i] = i;
116-
// siz[i] = 1;
117-
// }
118-
// for (int i = 1, x, y, l, r; i <= m; i++) {
114+
// for (int i = 1; i <= n * 2; i++) {
115+
// father[i] = i;
116+
// siz[i] = 1;
117+
// }
118+
// for (int i = 1, x, y, l, r; i <= m; i++) {
119119
// cin >> x >> y >> l >> r;
120-
// add(l + 1, r, x, y, 1, k, 1);
121-
// }
122-
// dfs(1, k, 1);
123-
// for (int i = 1; i <= k; i++) {
124-
// if (ans[i]) {
120+
// add(l + 1, r, x, y, 1, k, 1);
121+
// }
122+
// dfs(1, k, 1);
123+
// for (int i = 1; i <= k; i++) {
124+
// if (ans[i]) {
125125
// cout << "Yes" << "\n";
126126
// } else {
127-
// cout << "No" << "\n";
127+
// cout << "No" << "\n";
128128
// }
129-
// }
130-
// return 0;
129+
// }
130+
// return 0;
131131
//}

src/class166/Code03_MinimumMexTree2.java

Lines changed: 70 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -29,100 +29,102 @@
2929
//int part;
3030
//
3131
//void addEdge(int i, int x, int y) {
32-
// nxt[++cnt] = head[i];
33-
// tox[cnt] = x;
34-
// toy[cnt] = y;
35-
// head[i] = cnt;
32+
// nxt[++cnt] = head[i];
33+
// tox[cnt] = x;
34+
// toy[cnt] = y;
35+
// head[i] = cnt;
3636
//}
3737
//
3838
//int find(int i) {
39-
// while (i != father[i]) {
39+
// while (i != father[i]) {
4040
// i = father[i];
4141
// }
42-
// return i;
42+
// return i;
4343
//}
4444
//
4545
//void Union(int x, int y) {
46-
// int fx = find(x);
47-
// int fy = find(y);
48-
// if (siz[fx] < siz[fy]) {
49-
// int tmp = fx;
50-
// fx = fy;
51-
// fy = tmp;
52-
// }
53-
// father[fy] = fx;
54-
// siz[fx] += siz[fy];
55-
// rollback[++opsize][0] = fx;
56-
// rollback[opsize][1] = fy;
46+
// int fx = find(x);
47+
// int fy = find(y);
48+
// if (siz[fx] < siz[fy]) {
49+
// int tmp = fx;
50+
// fx = fy;
51+
// fy = tmp;
52+
// }
53+
// father[fy] = fx;
54+
// siz[fx] += siz[fy];
55+
// rollback[++opsize][0] = fx;
56+
// rollback[opsize][1] = fy;
5757
//}
5858
//
5959
//void undo() {
60-
// int fx = rollback[opsize][0];
61-
// int fy = rollback[opsize--][1];
62-
// father[fy] = fy;
63-
// siz[fx] -= siz[fy];
60+
// int fx = rollback[opsize][0];
61+
// int fy = rollback[opsize--][1];
62+
// father[fy] = fy;
63+
// siz[fx] -= siz[fy];
6464
//}
6565
//
6666
//void add(int jobl, int jobr, int jobx, int joby, int l, int r, int i) {
67-
// if (jobl <= l && r <= jobr) {
68-
// addEdge(i, jobx, joby);
69-
// } else {
70-
// int mid = (l + r) >> 1;
71-
// if (jobl <= mid) {
67+
// if (jobl <= l && r <= jobr) {
68+
// addEdge(i, jobx, joby);
69+
// } else {
70+
// int mid = (l + r) >> 1;
71+
// if (jobl <= mid) {
7272
// add(jobl, jobr, jobx, joby, l, mid, i << 1);
7373
// }
74-
// if (jobr > mid) {
74+
// if (jobr > mid) {
7575
// add(jobl, jobr, jobx, joby, mid + 1, r, i << 1 | 1);
7676
// }
77-
// }
77+
// }
7878
//}
7979
//
8080
//int dfs(int l, int r, int i) {
81-
// int unionCnt = 0;
82-
// for (int ei = head[i]; ei > 0; ei = nxt[ei]) {
83-
// int fx = find(tox[ei]);
84-
// int fy = find(toy[ei]);
85-
// if (fx != fy) {
86-
// Union(fx, fy);
87-
// part--;
88-
// unionCnt++;
89-
// }
90-
// }
91-
// int ans = -1;
92-
// if (l == r) {
93-
// if (part == 1) {
81+
// int unionCnt = 0;
82+
// for (int ei = head[i]; ei > 0; ei = nxt[ei]) {
83+
// int fx = find(tox[ei]);
84+
// int fy = find(toy[ei]);
85+
// if (fx != fy) {
86+
// Union(fx, fy);
87+
// part--;
88+
// unionCnt++;
89+
// }
90+
// }
91+
// int ans = -1;
92+
// if (l == r) {
93+
// if (part == 1) {
9494
// ans = l;
9595
// }
96-
// } else {
97-
// int mid = (l + r) >> 1;
98-
// ans = dfs(l, mid, i << 1);
99-
// if (ans == -1) {
96+
// } else {
97+
// int mid = (l + r) >> 1;
98+
// ans = dfs(l, mid, i << 1);
99+
// if (ans == -1) {
100100
// ans = dfs(mid + 1, r, i << 1 | 1);
101101
// }
102-
// }
103-
// for (int k = 1; k <= unionCnt; k++) {
104-
// undo();
105-
// part++;
106-
// }
107-
// return ans;
102+
// }
103+
// for (int k = 1; k <= unionCnt; k++) {
104+
// undo();
105+
// part++;
106+
// }
107+
// return ans;
108108
//}
109109
//
110110
//int main() {
111-
// ios::sync_with_stdio(false);
112-
// cin.tie(nullptr);
113-
// cin >> n >> m;
114-
// v = MAXV;
115-
// for (int i = 1; i <= n; i++) {
116-
// father[i] = i;
117-
// siz[i] = 1;
118-
// }
119-
// for (int i = 1; i <= m; i++) {
120-
// int x, y, w;
121-
// cin >> x >> y >> w;
122-
// if (w > 0) add(0, w - 1, x, y, 0, v, 1);
123-
// add(w + 1, v, x, y, 0, v, 1);
124-
// }
125-
// part = n;
126-
// cout << dfs(0, v, 1) << '\n';
127-
// return 0;
111+
// ios::sync_with_stdio(false);
112+
// cin.tie(nullptr);
113+
// cin >> n >> m;
114+
// v = MAXV;
115+
// for (int i = 1; i <= n; i++) {
116+
// father[i] = i;
117+
// siz[i] = 1;
118+
// }
119+
// for (int i = 1; i <= m; i++) {
120+
// int x, y, w;
121+
// cin >> x >> y >> w;
122+
// if (w > 0) {
123+
// add(0, w - 1, x, y, 0, v, 1);
124+
// }
125+
// add(w + 1, v, x, y, 0, v, 1);
126+
// }
127+
// part = n;
128+
// cout << dfs(0, v, 1) << '\n';
129+
// return 0;
128130
//}

0 commit comments

Comments
 (0)