
------板子--------
五彩蒟蒻DDD
大大大大大蒟蒻
展开
-
高精度板子
//+= *= -= /= operator前面都有& #include<cstdio>#include<iostream>#include<string>#include<vector>using namespace std;struct Wint:vector<int>{ Wint(int n=0){ push_back(n); check()原创 2017-11-07 19:37:49 · 422 阅读 · 0 评论 -
多种方法求逆元的板子
三种方法放在洛谷上都过了(除了费马小定理求快速幂最后一个点TLE了),所以正确性是没问题的 才知道!!x1这个变量名!!是不能在LINUX下用的!!!#include<cstdio>#include<cstring>using namespace std;#define ll long longconst int N=3e6+5;//o(n)求逆元,要求模数必须为质数,并且所求的数小于模原创 2017-11-07 22:17:00 · 513 阅读 · 0 评论 -
扩展欧几里德板子 poj2142
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define ll long longconst int inf=1e9;void exgcd(int a,int b,int &x,int &y,int &d){ if(!b){ x=1,y=0,d=a;原创 2017-11-07 20:10:01 · 358 阅读 · 0 评论 -
欧拉函数板子
欧拉函数:小于n的正整数中与n互质的数的数目(φ(1)=1) 在线求欧拉函数: //求欧拉函数板子 //根号n求欧拉函数 注意是 i*i<=x int getphi(int x){ int tmp=x; for(int i=2;i*i<=x;i++){ if(x%i==0){ while(x%i==0) x/=i;原创 2017-11-08 15:03:48 · 448 阅读 · 0 评论 -
Lucas定理板子 洛谷P3807
数论Lucas定理是用来求 C(m,n)%p的值,【p是素数】【辣鸡杭电针对我,在洛谷上能A在杭电上就要T】 HDU3037还涉及到隔板法,详情见此 洛谷直接给了公式。 1、O(n)预处理逆元#include<cstdio>#include<cstring>using namespace std;#define ll long longconst int N=1e5+5;/*ll f原创 2017-11-08 16:21:19 · 401 阅读 · 0 评论 -
点-双连通分量&边-双连通分量复习笔记
之前一直搞不清楚点双连通分量和边双连通分量,于是花了一个晚上专门搞双连通分量的概念和相关的题。 【有些东西不准确还望大佬们指正点双连通分量概念:如果任意两点至少存在两条“点不重复”的路径,就说这个图是点-双连通分量。等价于内部无割顶(割点)。 一个点双连通分量: 两个点双连通分量: (中间那个为割点)poj1144求割顶数量模板题:#include<cstdio>#include<原创 2017-10-05 22:13:28 · 494 阅读 · 0 评论 -
二分图复习笔记
概念匹配:一个边的集合,任何两边都没有公共点。 最大匹配:匹配边数最多的匹配。 完美匹配:所有顶点都是匹配点。 最小点覆盖:用最少的点,让每条边都至少和其中一个点相关联。 最小边覆盖:用尽量少的不相交简单路径覆盖有向无环图G的所有顶点。 最大独立集:在n个点的图G中选出两两之间没有边的尽量多的m个点,这m个点所组成的集合。关系最小点覆盖=最大匹配数 最小顶点覆盖=最大匹配数 最小边覆盖原创 2017-10-15 22:15:26 · 410 阅读 · 0 评论 -
洛谷P3370 【模板】字符串哈希
一定要记住HASH链表的高端写法!!! 参考了杨婉倩大佬的写法,原来的自己乱搞版WA了70分……#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define ull unsigned long longconst int base1=1000007,base2=99859,MOD=69847原创 2017-11-09 17:49:42 · 455 阅读 · 0 评论 -
kmp板子 洛谷P3375
【每个人写的kmp板子不一样,洛谷的要求实在有些牵强,以及不是很喜欢题面一副盛气凌人的样子】#include<cstdio>#include<cstring>using namespace std;char s[1000000+5],ch[1000000+5];int nxt[1000000+5];int lenc,lens;void kmp(){ nxt[0]=-1;原创 2017-11-09 19:14:04 · 529 阅读 · 1 评论