上一页 1 ··· 9 10 11 12 13
摘要: 依次枚举中心点更新最短距离 #include <bits/stdc++.h> using namespace std; using ll = long long; using ull = unsigned long long; const int INF = 1e9; int n,m; vector 阅读全文
posted @ 2026-04-14 01:02 kzssCCC 阅读(12) 评论(0) 推荐(0)
摘要: https://www.luogu.com.cn/problem/P3381 先做一次 \(spfa\) 求势能,然后重复 \(dijkstra\) 和 \(dfs\) 在残留网络中累加流量和费用。 \(dfs\) 需要用 \(vis\) 标记访问节点,防止受 \(0\) 费用边影响无限循环。 每轮 阅读全文
posted @ 2026-04-14 00:49 kzssCCC 阅读(12) 评论(0) 推荐(0)
摘要: #include <bits/stdc++.h> using namespace std; using ll = long long; using i128 = __int128; const ll INF = 9e18; class edge{ public: int to,rev; ll c; 阅读全文
posted @ 2026-04-14 00:48 kzssCCC 阅读(9) 评论(0) 推荐(0)
摘要: https://www.luogu.com.cn/problem/P2742 //author:kzssCCC #include <bits/stdc++.h> using namespace std; using ll = long long; namespace geometry{ const 阅读全文
posted @ 2026-04-14 00:46 kzssCCC 阅读(12) 评论(0) 推荐(0)
摘要: 参考 \(Kruskal\) 构建最小生成树的过程,把边按权升序排序,用并查集判断连通性,这里并查集不能做按秩合并。 考虑一条边 \([u,v,w]\),如果 \(u\) 和 \(v\) 属于同一连通分量,跳过;否则新建一个虚拟点,虚拟点的点权为 \(w\),把 \(p[u]\) 和 \(p[v]\ 阅读全文
posted @ 2026-04-13 16:24 kzssCCC 阅读(15) 评论(0) 推荐(0)
摘要: 与传统并查集相比,需要维护两点的距离,不能做按秩合并。 1.https://www.luogu.com.cn/problem/P8779 题意概述:给定一个数组 \(a\) 和若干条信息,表示 \(\sum_{l_i}^{r_i} a[i]\) ,随后给定若干询问,包含 \(l\),\(r\),需要 阅读全文
posted @ 2026-04-13 12:13 kzssCCC 阅读(27) 评论(0) 推荐(0)
摘要: 通过不断地寻找重心,每次可以重新dfs子树收集跨根节点信息。时间复杂度 \(\mathcal{O}(n \log n)\),证明过程类似启发式合并。 形式比较一致,主要是4个函数: 1.getsz(),每次寻找重心前需要重新计算子树大小。 2.getsent(),寻找重心。 3.work(),分治。 阅读全文
posted @ 2026-04-13 12:01 kzssCCC 阅读(10) 评论(0) 推荐(0)
摘要: https://www.luogu.com.cn/problem/P3384 //author:kzssCCC #include <bits/stdc++.h> using namespace std; using ll = long long; class HLD{ public: int n,r 阅读全文
posted @ 2026-04-13 11:35 kzssCCC 阅读(9) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13