摘要: //定义一个名为F的网络流:NetWorkFlow F(n,S,T); //复杂度V^2*E struct NetWorkFlow { struct Flownode { int vi,id; int wi; }; int S,T; const int inf = 0x3f3f3f3f; std:: 阅读全文
posted @ 2023-07-27 17:23 CECY 阅读(28) 评论(0) 推荐(0)
摘要: template<class T> struct RMQ { int n; vector<vector<T>> f; vector<int> log_2; vector<T> a; function <T(T, T)> cmp; RMQ() {} RMQ(int n, function<T(T, T 阅读全文
posted @ 2023-07-27 17:23 CECY 阅读(18) 评论(0) 推荐(0)
摘要: 可以只使用线段树部分使其变成求区间最大字段和 template<class T> struct PathSubSegmentOnTree { struct ST { int l, r; T sum; T lMaxSum, rMaxSum, maxSum; T lMinSum, rMinSum, mi 阅读全文
posted @ 2023-07-27 17:22 CECY 阅读(23) 评论(0) 推荐(0)
摘要: constexpr int P = 1e9 + 9; // assume -P <= x < 2P int norm(int x) { if (x < 0) { x += P; } if (x >= P) { x -= P; } return x; } template<class T> T pow 阅读全文
posted @ 2023-07-27 17:18 CECY 阅读(23) 评论(0) 推荐(0)
摘要: struct SegBase { using ll = long long; bool zero; // 判断线性基中有无0出现 // maxsiz = log2(值域上边界) int maxsiz = 64; vector<ll> segbase; // 线性基本身 vector<ll> newb 阅读全文
posted @ 2023-07-27 17:18 CECY 阅读(28) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; struct Dominators { const int inf = 0x3f3f3f3f; bool isBuild, isCalcDfn, isCalcSiz; // 保证不重复操作的变量 int n, 阅读全文
posted @ 2023-07-27 17:16 CECY 阅读(21) 评论(0) 推荐(0)