![](https://img-blog.csdnimg.cn/9840d772c4184946b5f1cf4a532c698f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
XCPC模板
文章平均质量分 50
沉迷算法不能自拔
Zjkai_
Better late than never.
展开
-
Brute 暴力
Brute 暴力枚举子集int x; cin >> x;for(int i = x;i;i = (i - 1) & x) cout << i << '\n';二分二分答案01分数规划给出n个物品,每个物品有两个属性a和b,选择k个元素,询问∑ai/∑bi的最大值给出n个物品,每个物品有两个属性a和b,选择k个元素,询问\sum{a_i}/\sum{b_i}的最大值给出n个物品,每个物品有两个属性a和b,选择k个元素,询问∑ai/∑bi的最大原创 2021-10-19 10:54:50 · 73 阅读 · 0 评论 -
Mess 杂项算法
Mess 杂项算法Q_read/Q_writeinline int qr(){ int x = 0, f = 1; char c = getchar(); while(!isdigit(c)) { if(c == '-') f = -f; c = getchar(); } while(isdigit(c)) { x = (x << 1) + (x << 3) + (c ^ 48);原创 2021-10-19 10:54:07 · 140 阅读 · 0 评论 -
DP
DP记忆化搜索线性DP背包DP区间DP概率DP数位DP状压DP树形DPDP优化四边形优化斜率优化矩阵优化单调栈/单调队列优化原创 2021-10-19 10:53:28 · 104 阅读 · 0 评论 -
STL模板库
STL模板库Vector初始化vector<int > a(n + 1, 0);vector<vector<int > > a(n, vector<int>(m, 0));vector<vector<vector<int> > > dp(n, vector<vector<int> >(n, vector<int>(n, 0)));构建右值vectorvector&l原创 2021-10-19 10:52:52 · 93 阅读 · 0 评论 -
Geometry 计算几何
Geometry 计算几何四面体体积计算(已知四个点的坐标)struct point { double x, y, z;} p[5];double line2(point a, point b) { return ((a.x - b.x) * (a.x - b.x)) + ((a.y - b.y) * (a.y - b.y)) + ((a.z - b.z) * (a.z - b.z));}void work() { for (int i = 1; i <= 4; i原创 2021-10-19 10:52:17 · 606 阅读 · 0 评论 -
String 字符串
String 字符串KMPconst int maxn = 1e5 + 7;vector<int> ne(maxn, 0);string mode, text;void getNext() { int j = 0, k = -1; ne = vector<int>(maxn, 0); ne[0] = -1; while(j < mode.length()) { if(k == -1 || mode[j] == mode[k]) ne[++j] = ++k原创 2021-10-19 10:51:42 · 71 阅读 · 0 评论 -
Number 数论
Number 数论素数筛欧拉筛对if(i % prime[j] == 0) break;的解释当i % prime[j] == 0时有 i = k * prime[j]; 若j++有 i * prime[j + 1] = k * prime[j] * prime[j + 1] 也是prime[j]的因子,导致重复筛const int maxn = 1e7 + 8;vector<int > prime(maxn, 0);bitset<maxn> vis(0)原创 2021-10-19 10:51:13 · 362 阅读 · 0 评论 -
Datastruct 数据结构
Data Structure 数据结构树二叉树二叉树的重建已知前序、中序,求后序#include <bits/stdc++.h>using namespace std;using ll = long long;struct BTree { int data; BTree* lson; BTree* rson; BTree(int c) { data = c; lson = rson = nullptr; }};void preTravel(BTree原创 2021-10-19 10:49:09 · 491 阅读 · 0 评论 -
Network 网络流
Network 网络流二分图二分图的判断二染色法:图可以被分为两个集合,每条边的两个端点都可以被划分到两个集合中;这两个集合可以被染成两个颜色偶环法:根据二分图的定义,二分图中不可能存在奇数长度的环//偶环法#include<bits/stdc++.h>using namespace std;using ll = long long;int main() { ios::sync_with_stdio(false); cin.tie(nullptr);原创 2021-10-19 10:47:50 · 142 阅读 · 0 评论 -
Graph 图论
Graph 图论图的存储方式vector存图const int maxn = 2e5 + 7;vector<int > g[maxn];vector<vector<int> > g(maxn);vector<vector<pair<int, int> > > g(maxn);链式前向星慎用,可能会很慢;可以在网络流相关的题使用,快速得到与本条边反向的边(i ^ 1);const int Max = 1e6 +原创 2021-10-19 10:42:32 · 277 阅读 · 0 评论