摘要: // 最小费用最大流 struct MCMF { struct node { int vi,id,wi,ci; }; const int inf = 0x3f3f3f3f; int S,T,mxflow,cost; std::vector<int> dis,to,cur; std::vector<b 阅读全文
posted @ 2023-08-03 20:17 CECY 阅读(47) 评论(0) 推荐(0)
摘要: class KM { public: // MAXN 最大点数 oo 无穷大 static const int MAXN = 405, oo = 1000101010; int nl, nr, m; // 左边的点数,右边的点数,边数 int result[MAXN]; // 左边点最大权匹配的匹配 阅读全文
posted @ 2023-08-03 20:17 CECY 阅读(37) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; struct Manacher { struct Char { char ch; Char(){} Char(char ch) : ch(ch) {} Char &operator = (const char 阅读全文
posted @ 2023-07-30 19:53 CECY 阅读(18) 评论(0) 推荐(0)
摘要: //定义一个名为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)
摘要: 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)
摘要: 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 阅读(22) 评论(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)