摘要:
int tr[N][N], n, m; void update(int x, int y, int val) { for (int i = x; i <= n; i += lowbit(i)) { for (int j = y; j <= m; j += lowbit(j)) { tr[i][j] 阅读全文
posted @ 2026-10-13 20:25
zxqMATT
阅读(3)
评论(0)
推荐(0)
摘要:
inline int lowbit(int x) { return x & -x; } int tr[N], n; void update(int u, int val) { while (u <= n) { tr[u] += val, u += lowbit(u); } } int query(i 阅读全文
posted @ 2026-10-13 20:22
zxqMATT
阅读(4)
评论(0)
推荐(0)
摘要:
int ds[N], n; void init() { memset(ds, -1, sizeof ds); } int find(int x) { return (ds[x] < 0) ? x : (ds[x] = find(ds[x])); } void merge(int x, int y) 阅读全文
posted @ 2026-10-13 20:20
zxqMATT
阅读(5)
评论(0)
推荐(0)
摘要:
int ds[N], n, m; struct Edge { int u, v, w; } eg[M]; // 并查集省略 int kruskal() { sort(eg + 1, eg + 1 + m); int ans = 0; for (int i = 1, cnt = n - 1; i <= 阅读全文
posted @ 2026-10-13 20:17
zxqMATT
阅读(5)
评论(0)
推荐(0)
摘要:
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pque; pque.emplace(s, 0); dis[s] = 0; while (pque.size()) { auto [d, u 阅读全文
posted @ 2026-10-13 20:15
zxqMATT
阅读(5)
评论(0)
推荐(0)
摘要:
int hd[N], nx[N], v[N], w[N], m; void addedge(int _u, int _v, int _w) { nx[_u] = hd[_u], hd[_u] = ++m, v[m] = _v, w[m] = _w; } 阅读全文
posted @ 2026-10-13 20:04
zxqMATT
阅读(5)
评论(0)
推荐(0)

浙公网安备 33010602011771号