File tree Expand file tree Collapse file tree 2 files changed +27
-24
lines changed Expand file tree Collapse file tree 2 files changed +27
-24
lines changed Original file line number Diff line number Diff line change 283
283
* [ 动态规划:不同路径] ( https://mp.weixin.qq.com/s/MGgGIt4QCpFMROE9X9he_A )
284
284
* [ 动态规划:不同路径还不够,要有障碍!] ( https://mp.weixin.qq.com/s/lhqF0O4le9-wvalptOVOww )
285
285
* [ 动态规划:整数拆分,你要怎么拆?] ( https://mp.weixin.qq.com/s/cVbyHrsWH_Rfzlj-ESr01A )
286
+ * [ 动态规划:不同的二叉搜索树] ( https://mp.weixin.qq.com/s/8VE8pDrGxTf8NEVYBDwONw )
287
+
286
288
287
289
(持续更新中....)
288
290
Original file line number Diff line number Diff line change @@ -240,32 +240,33 @@ void backtracking(参数) {
240
240
241
241
## 并查集
242
242
243
- int n = 1005; // 更具题意而定
244
- int father[ 1005] ;
243
+ ```
244
+ int n = 1005; // 更具题意而定
245
+ int father[1005];
245
246
246
- // 并查集初始化
247
- void init() {
248
- for (int i = 0; i < n; ++i) {
249
- father[ i] = i;
247
+ // 并查集初始化
248
+ void init() {
249
+ for (int i = 0; i < n; ++i) {
250
+ father[i] = i;
251
+ }
252
+ }
253
+ // 并查集里寻根的过程
254
+ int find(int u) {
255
+ return u == father[u] ? u : father[u] = find(father[u]);
256
+ }
257
+ // 将v->u 这条边加入并查集
258
+ void join(int u, int v) {
259
+ u = find(u);
260
+ v = find(v);
261
+ if (u == v) return ;
262
+ father[v] = u;
263
+ }
264
+ // 判断 u 和 v是否找到同一个根
265
+ bool same(int u, int v) {
266
+ u = find(u);
267
+ v = find(v);
268
+ return u == v;
250
269
}
251
- }
252
- // 并查集里寻根的过程
253
- int find(int u) {
254
- return u == father[ u] ? u : father[ u] = find(father[ u] );
255
- }
256
- // 将v->u 这条边加入并查集
257
- void join(int u, int v) {
258
- u = find(u);
259
- v = find(v);
260
- if (u == v) return ;
261
- father[ v] = u;
262
- }
263
- // 判断 u 和 v是否找到同一个根
264
- bool same(int u, int v) {
265
- u = find(u);
266
- v = find(v);
267
- return u == v;
268
- }
269
270
```
270
271
271
272
You can’t perform that action at this time.
0 commit comments