- 博客(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 274
原创 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 381
原创 最小生成树模板
Kruskal算法#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<queue>#include<algorithm>#define INF 0x7f7f7f7fusing namespace std;con...
2021-03-26 21:15:57 171
原创 求最长递增子序列
//从下标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 93
原创 堆——大/小顶堆创建
小顶堆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 131
原创 树——已知两序遍历建树——模板
前提所需//树节点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 118
山东科技大学ojti
2018-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人