- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 匈牙利算法(二分图的最大匹配)
I’m Telling the Truth HDU - 3729 #include<bits/stdc++.h> using namespace std; const int maxn=77; const int maxs=100000+7; bool vis[maxs]; vector<int> vec; vector<int> G[maxn]; int bo...
2021-03-26 21:56:48 263
原创 KM算法(二分图的最大权匹配)
奔小康赚大钱 HDU - 2255 模板 #include<bits/stdc++.h> using namespace std; const int maxn=307; const int INF=0x3f3f3f3f; int love[maxn][maxn]; // 记录每个妹子和每个男生的好感度 int ex_girl[maxn]; // 每个妹子的期望值 int...
2021-03-26 21:20:09 371
原创 最小生成树模板
Kruskal算法 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<algorithm> #define INF 0x7f7f7f7f using namespace std; con...
2021-03-26 21:15:57 164
原创 求最长递增子序列
//从下标0开始 int a[maxn];//原数组 int b[maxn];//求得递增数组 int main() { int cnt=1;//所求长度 b[0]=a[0]; for(int i=1;i<n;i++){ if(a[i]>b[cnt-1]) b[cnt++]=a[i]; else{ int pos=upper_bound(b,b+cnt,a[i])-b;
2021-03-25 18:42:28 85
原创 堆——大/小顶堆创建
小顶堆 void creat(int x) { a[++cnt]=x; int t=cnt; while(t>1&&(a[t/2]>a[t])){ swap(a[t/2],a[t]); t/=2; } a[t]=x; } 大顶堆 void creat(int x) { a[++cnt]=x; int t=cnt; while(t>1&&(a[t/2]<a[
2021-03-25 17:32:13 125
原创 树——已知两序遍历建树——模板
前提所需 //树节点 struct BiNode { int data; BiNode* lchild; BiNode* rchild; }; int ino[37];//中序遍历 int know[37];//已知的一个遍历,前或后 //调用 BiNode* bi=BuildTree(0,n-1,0,n-1,ino,know); 已知前序遍历和中序遍历建树 BiNode* BuildTree(int l,int r,int inl,int inr,int ino[],int kn
2021-03-25 15:54:16 109
山东科技大学ojti
2018-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人