
板子
獭挞
111
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【板子】树状数组
1、单点修改 区间查询 int n; int a[1005],c[1005]; //对应原数组和树状数组 int lowbit(int x){ return x&(-x); } void updata(int i,int k){ //在i位置加上k while(i <= n){ c[i] += k; i += lowbit...原创 2020-10-31 10:38:01 · 82 阅读 · 0 评论 -
【板子】线段树
#include <bits/stdc++.h> using namespace std; const int maxn = 100005; int a[maxn], tree[maxn << 2],lazy[maxn << 2]; void Pushup(int node) { //RMQ:tree[node] = max(tree[node &...原创 2020-10-31 10:37:41 · 90 阅读 · 0 评论 -
【板子】矩阵快速幂
#define ll long long #define MAXN 4 #define mod 1000000007 struct Matrix { ll mat[MAXN][MAXN]; Matrix() {} Matrix(ll temp[MAXN][MAXN]) { for (int i = 0; i < MAXN; i++) ...原创 2020-10-31 10:38:06 · 106 阅读 · 0 评论 -
【板子】KM(n3板子)
#include <bits/stdc++.h> using namespace std; #define ll long long //算法使用 //w[maxn][maxn] 数组表示图的邻接矩阵 //pop表示二分图的左右两边的点的数量 //点从0到n-1 // const int maxn = 50; const int inf = 0x3f3f3f3f; in...原创 2020-10-31 10:38:14 · 168 阅读 · 0 评论 -
【板子】匈牙利算法
bool g[maxn][maxn];//邻接矩阵 int used[maxn];//右边的点是否访问 int match[maxn];//右边的点匹配的点 int dfs(int s) { for (int i = 1; i <= n; i++) { if (used[i] == 1 || g[s][i] == 0) continu...原创 2020-10-31 10:38:33 · 98 阅读 · 0 评论 -
【板子】最小生成树
1.Kruskal #include <iostream> #include <cmath> #include <cstdio> #include <string.h> #include <stdio.h> #include <algorithm> using namespace std; int n; struct ed...原创 2020-10-31 10:38:42 · 96 阅读 · 0 评论 -
【板子】并查集
1、普通 #include <bits/stdc++.h> using namespace std; const int maxn=200000; int parent[maxn];//num记i中点的数量 int find(int x)//查找且缩点 { if(x!=parent[x]) { parent[x]=find(parent[x]); ...原创 2020-10-31 10:38:49 · 113 阅读 · 0 评论