模板
codehappy123
这个作者很懒,什么都没留下…
展开
-
线段树呀
#include<iostream>#include<cstring>#define int long long using namespace std;const int MAX=2e5+7;int tree[MAX]; // 线段树int lz[MAX]; // 延迟标记 void Init(){ memset(tree,0,sizeof(tre...原创 2019-05-31 17:21:17 · 77 阅读 · 0 评论 -
卢卡斯定理(求有限模数(最大1e6),C(n,m))
#include<iostream>//#include<algorithm>using namespace std;typedef long long ll;int quick_power_mod(int a,int b,int m)//pow(a,b)%m{ int result = 1; int base = a; while(b>0) {...原创 2019-08-06 11:21:45 · 177 阅读 · 0 评论 -
剩余定理(求解同于方程组)
int Chinese_Remainder(int a[],int w[],int len)//中国剩余定理 a[]存放余数 w[]存放所有的模数{ int i,d,x,y,m,n,ret; ret = 0; n = 1; for(i = 0; i < len; i++) n *= w[i]; for...原创 2019-08-06 10:45:27 · 117 阅读 · 0 评论 -
欧拉函数
int oula(int n){ int res = n, a = n; for(int i=2; i*i<=a; ++i){ if(a%i==0){ res = res/i*(i-1); while(a%i==0) a = a/i; } } if(a>1)res=res/a*(a-1); return res;}原创 2019-08-06 10:30:20 · 432 阅读 · 0 评论 -
拓展欧几里得(求解 ax+by=c 求x,y)
int extend_Euclid(int a, int b, int &x, int &y){ if(b==0) { x = 1; y = 0; return a; } int r = extend_Euclid(b, a%b, y, x); y -= a/b*x; //这里已经是递归,回...原创 2019-08-06 10:23:41 · 1159 阅读 · 0 评论 -
弗洛伊德 模板
#include <stdio.h>#define inf 0x3f3f3f3fint map[1000][1000];int main(){ int k,i,j,n,m; //读入n和m,n表示顶点个数,m表示边的条数 scanf("%d %d",&n,&m); //初始化 for(i=1; i<=n; i++...转载 2019-07-27 09:49:49 · 173 阅读 · 0 评论 -
迪杰斯特拉(模板)
#include <iostream>#include <malloc.h>#include <cstring>#include <stack>#include <cstdio> //定义邻接矩阵的大小#define N 100#define M 100 using namespace std; typedef ...转载 2019-07-27 09:46:48 · 97 阅读 · 0 评论 -
最大流+最小费用流 (dinic + SPFA)
#include <bits/stdc++.h>using namespace std;const int INF = 0x3f3f3f3f;// edgestruct Edge{ int from, to, f, w;}E[1000005];int Hed[100005], Nex[1000005], ct=1, Cur[100005];void Add(i...原创 2019-07-27 09:40:42 · 507 阅读 · 0 评论 -
最大流 最小割
#include<bits/stdc++.h>#define int long longusing namespace std;const int MAX=1e5;struct node{ int u,v,w,next;}ege[MAX];int head[MAX],tmp,leval[MAX];int n,k,s,t;queue<int>q;voi...原创 2019-07-26 17:28:43 · 95 阅读 · 0 评论 -
ICPC(路)(迪杰斯特拉 + 路径存取)
问题 F: 路时间限制:1 Sec内存限制:128 MB提交:236解决:59[提交] [状态] [命题人:admin]题目描述Farmer John 热衷于散步,每天早上他都要从 1 号仓库走到 n 号仓库。 Farmer John 家的 n 个仓库被 m 条双向道路连通起来,每条道路有一个长度 w。而Farmer John 又不喜欢走路,所以他走的是从 1 号仓...原创 2019-07-30 17:38:46 · 157 阅读 · 0 评论 -
MR 素性检测 (快速幂+快速乘)
const int S=9;int qmul(int a, int b, int mod)//快速乘 { int c = a*b-(int)((long double)a*b/mod+0.5)*mod; return c<0 ? c+mod : c;}int qpow(int a,int b,int mod)//快速幂{ int ans=1,buff=a;...原创 2019-07-30 09:58:13 · 248 阅读 · 0 评论 -
主席树 (区间第K大/小)
#include <bits/stdc++.h>#define int long longusing namespace std;const int maxn=2e5+5;int n,m,a[maxn];vector<int> v;inline int getid(int x){ return lower_bound(v.begin(),v.end(...原创 2019-07-29 09:59:14 · 100 阅读 · 0 评论 -
并查集呀
#include <bits/stdc++.h>#define int long longusing namespace std;const int MAX=5e5+7;int par[MAX]; //父亲int _rank[MAX]; //集合中的元素个数 //初始化n个元素void Init(int n){ for(int i=0;...原创 2019-05-31 18:21:40 · 79 阅读 · 0 评论 -
分数加减乘除
#include <iostream>#include <cstdio>using namespace std;class Number{ int numerator,denominator;public: void input(int a,int b) { numerator=a; denominator=b; } void outpu...转载 2019-08-28 15:08:13 · 240 阅读 · 0 评论