![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
小青WA
扣扣1916493526
展开
-
中国剩余定理 CRT
参考:https://www.cnblogs.com/MashiroSky/p/5918158.html问题求x?m[]互质推理过程详见上面链接poj1006互质版裸题#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int a[4],m原创 2021-01-21 00:38:59 · 122 阅读 · 0 评论 -
扩展欧几里得 extend_Euclid
推导过程原理代码int exgcd(int a,int b,int &x1,int &y1){ if(!b){ x1 = 1,y1 = 0; return a; } int x2,y2; int d = exgcd(b,a % b,x2,y2); x1 = y2,y1 = x2 - (a / b) * y2; return d;}求逆元x是a关于m的逆元原创 2021-01-14 01:32:02 · 100 阅读 · 0 评论 -
点,线,面,形、点积叉积 模板
运算符重载struct point{ int x,y; point(int x = 0,int y = 0):x(x),y(y){}};typedef point vector;vector operator +(vector a,vector b){ return vector(a.x + b.x,a.y + b.y);}vector operator -(point a,point b){ return vector(a.x-b.x,a.y-b.y);}vector ope原创 2020-09-03 23:27:42 · 504 阅读 · 0 评论 -
树链剖分模板
模板#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int MaxN = 1e5 + 5;struct edge{ int next,to;}e[2 * MaxN];struct Node{ int sum,lazy,l,r;}a[4 * M.原创 2020-07-08 08:42:34 · 160 阅读 · 0 评论 -
codeforces 427C tarjan模板题
题意:给你n个点每个点修建警察局的cost对于这张图来说,与警察局在同一强联通分量里的每个点都可以被这个警察局照看 问你最小cost以及当前cost的方案数思路:tarjan模板题~~~ (特别鸣谢磊哥哥的倾情授课ლ(°◕‵ƹ′◕ლ))AC代码:#include<cstdio>#include<iostream>#include<alg...原创 2020-01-18 00:39:59 · 720 阅读 · 0 评论 -
Z-box / Z-algorithm字符串匹配
简介z[i]:对于i这个位置和原本的字符串的相同前缀长度是多少p[] +"#" + s[]——可知对于匹配串 文本串每个位置与其相同的前缀z数组的处理z[0]无效 = 0,用z[k](k < i)来推出z[i]看看之前算好的z有没有可以覆盖当前的i,而且覆盖右边界越右越好 l,r是box的边界if(没有之前的zbox能覆盖) 只好从i这一位暴力枚举处理答案el...原创 2019-11-19 18:47:16 · 179 阅读 · 0 评论 -
双端队列deque
#include<cstdio>#include<iostream>#include<algorithm>#include<deque>using namespace std;deque<char> S,d;int main(){ d.push_back('o'); d.push_back('n'); d.pu...原创 2019-10-08 15:57:58 · 80 阅读 · 0 评论 -
字典树
每个点都独一无二欧~~pre——前缀void build(){ int root = 0;//首字母不存在的话从头开始存啊 for(int i = 0;i < len ;i++){ int cur = s[i] - 'a'; if(!trie[root][cur]) trie[root][cur] = ++cnt; //从root节点到cur这条边如果不存在的话 建...原创 2019-08-05 19:11:11 · 162 阅读 · 0 评论 -
RMQ模板
RMQ初始化 max_cow[i][0] = min_cow[i][0] = a[i];void rmq(int n){ for(int j = 1;(1 << j) <= n; j++){ for(int i = 1;i + (1 << j) - 1 <= n; i++){ max_cow[i][j] = max(max_cow[i...原创 2019-07-22 09:56:17 · 114 阅读 · 0 评论 -
整理一下模板
快速幂LL fast_pow(LL x,LL y){ LL res = 1LL; x = x % mod; while(y){ if(y & 1) res = res * x % mod; y >>= 1;// /2 x = x * x % mod; } return res;}gcd + lcmint gcd(int a,int b){...原创 2019-07-23 10:19:28 · 209 阅读 · 0 评论