模板
M_Lter
这个作者很懒,什么都没留下…
展开
-
矩阵快速幂模板
用某一个题目的值做代表的代码,日后修改值和矩阵大小即可#include<iostream>#include<cstdio>#include<cstring>using namespace std;typedef long long ll;const ll mod=998244353;const int N=3; //几阶矩阵 struct ...原创 2018-07-16 21:21:19 · 123 阅读 · 0 评论 -
线段和多边形的位置关系模板
#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;const double eps=1e-8; int sgn(double x){ if(fabs(x)<eps) return 0; if(x&l...原创 2018-08-27 20:34:37 · 678 阅读 · 2 评论 -
卢克斯(Lucas)定理模板
求C(n,m)mod p,p是素数。Lucas定理用来解决大组合数求模的,当n,m,p很大的时候,直接递推会暴。#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<iostream>using namespace std;...原创 2018-08-30 18:30:46 · 184 阅读 · 0 评论 -
中国剩余定理模板
以一个经典例子配合代码来理解:x%3=2; x%5=3; x%7=2;1.求最小公倍数:M=3*5*7=105。2.依照余数求各个数的基础数:105/3=35,35%3=2;105/5=21,21%5=1,即63%5=3;105/7=15,15%7=1,即30%7=2。3.求和sum=35+63+30=128;4.求最小满足条件的x=(M+sum%M)%M。...原创 2018-08-30 16:40:38 · 462 阅读 · 0 评论 -
K叉哈夫曼树模板
k叉哈夫曼树求解求合并n个数最小的代价。#include<cstdio>#include<cmath>#include<algorithm>using namespace std;typedef long long ll;const int maxn=1e5+5;int n;int a[maxn],b[maxn]; //a[]是原始数组,从...原创 2018-07-24 14:45:47 · 504 阅读 · 0 评论 -
spfa算法模板
单源最短路径问题,复杂度O(k*e)#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+5;const int inf=1<<30;int dist[N],cnt[N...原创 2018-07-17 16:02:36 · 150 阅读 · 0 评论 -
高斯消元法模板--矩阵分解
求解方程组的解向量:Ax=b,令 A=LU; //求解L矩阵和U矩阵可以利用一般高斯消元法,也可以用直接法则 LUx=b;令 y=Ux;则 Ly=b;所以根据L矩阵和b向量,可求出y向量,再根据y向量和U矩阵求解x向量即可#include<cstdio>#include<cmath>using namespace std;const int...原创 2018-07-17 09:59:48 · 614 阅读 · 0 评论 -
高斯消元法模板--一般法+列主元素+完全主元素
1.一般高斯消元法:可能会出现较大的舍入误差#include<cstdio>#include<cmath>using namespace std;const int N=20;void Guess(int n,double a[N][N]){ for(int i=0;i<n;i++) //判断 if(a[i][i]==0){ printf(...原创 2018-07-17 09:51:43 · 1049 阅读 · 0 评论 -
最大非增、非减子序列模板
1.dp思想:复杂度O(n^2)#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e6+5;int a[N],f[N];int d[N];//d[i]用于记录a[0...i]的最大长度//最大非降子序列int bsea...原创 2018-07-16 22:14:37 · 273 阅读 · 0 评论 -
大数模板
大数加法string Sum(string s1,string s2){ if(s1.length()<s2.length()) swap(s1,s2); for(int i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--){ s1[i]=char(s1[i]+(j>=0?(s2[j]-'0'):0)); if(s1[i...原创 2019-03-23 20:09:22 · 117 阅读 · 0 评论