随笔分类 -  模板

摘要:1 int phi[5*K]; 2 void init(int k) 3 { 4 phi[1]=1; 5 for(int i=2;i1) 22 ans=ans*x/(x-1); 23 return ans; 24 } 阅读全文
posted @ 2017-04-06 21:38 weeping 阅读(138) 评论(0) 推荐(0) 编辑
摘要:以下介绍内容内容转自:http://blog.csdn.net/zy691357966/article/details/39854359 网上看了这篇文章后还是感觉有些地方讲的没有详细的证明所以添加了一点 红色字是博主写的 求字符串的循环最小表示: 上面说的两个字符串同构的,并没有直接先求出Min( 阅读全文
posted @ 2017-03-14 22:44 weeping 阅读(230) 评论(0) 推荐(0) 编辑
摘要:不带权: 带权: 阅读全文
posted @ 2017-02-19 22:38 weeping 阅读(459) 评论(0) 推荐(0) 编辑
摘要:weeping的私人模板,需要的话就拿去用吧(虽然可能会有小错,如果有请提醒我) 这是现在日常用的模板 2017.10.11 update: 把白书上的半平面交模板换成别的了,原来的那个好像有问题,一直wa。 把求三角形外心的模板改了精度更高的模板。 2017.10.08 update: 原来的模板 阅读全文
posted @ 2017-02-03 23:22 weeping 阅读(992) 评论(0) 推荐(0) 编辑
摘要:#include const int mod=1e9+7; struct MM { int r,c; int mx[105][105]; MM(int rr=0,int cc=0){r=rr,c=cc;} friend MM operator *(MM ta,MM tb) { MM tc(ta.r,tb.c); for(i... 阅读全文
posted @ 2016-10-09 19:52 weeping 阅读(197) 评论(0) 推荐(0) 编辑
摘要:自己写的0.0 从网上扒的: 阅读全文
posted @ 2016-10-07 21:14 weeping 阅读(429) 评论(0) 推荐(0) 编辑
摘要:指针版 01Trie 阅读全文
posted @ 2016-10-05 00:36 weeping 阅读(496) 评论(0) 推荐(0) 编辑
摘要:// Made by xiper // updata time : 2015 / 12 / 8 // test status: √ // 使用前调用初始化函数 init() 同时 root[0] = 0; struct Trie_Persistent { const static int LetterSize = 5; // 字符集大小 const static int Tr... 阅读全文
posted @ 2016-10-05 00:34 weeping 阅读(1032) 评论(0) 推荐(0) 编辑
摘要:计算几何 目录 ㈠ 点的基本运算 1. 平面上两点之间距离 1 2. 判断两点是否重合 1 3. 矢量叉乘 1 4. 矢量点乘 2 5. 判断点是否在线段上 2 6. 求一点饶某点旋转后的坐标 2 7. 求矢量夹角 2 ㈡ 线段及直线的基本运算 1. 点与线段的关系 3 2. 求点到线段所在直线垂线的垂足 4 3. 点到线段的最近点 4 4. 点到线段所在直线的距离... 阅读全文
posted @ 2016-08-19 23:21 weeping 阅读(1439) 评论(0) 推荐(1) 编辑
摘要:/* * this code is made by crazyacking * Verdict: Accepted * Submission Date: 2015-08-19-21.48 * Time: 0MS * Memory: 137KB */ #include #include #include #include #include #include #include #inc... 阅读全文
posted @ 2016-08-19 12:57 weeping 阅读(273) 评论(0) 推荐(0) 编辑
摘要:#include #include #include using namespace std; typedef long long ll; ll mod_pow(ll x, ll n, ll p){ ll res = 1; while(n){ if(n & 1) res =res * x % p; x = x * x % p; ... 阅读全文
posted @ 2016-08-13 01:11 weeping 阅读(750) 评论(0) 推荐(1) 编辑
摘要://求两圆相交的面积 #include #include #include #include #include #include #define esp 1e-8 using namespace std; struct Circle{ double x,y; double r; }p[3000]; int cmp(Circle ta,Circle tb) { retu... 阅读全文
posted @ 2016-08-08 14:01 weeping 阅读(509) 评论(0) 推荐(0) 编辑
摘要:后缀数组 DA(倍增)算法求 SA[N] 与 Rank[N] (时间O(NlogN),空间O(N)) sa[i] : 表示 排在第i位的后缀 起始下标 rank[i] : 表示后缀 suffix(i)排在第几 height[i] : 表示 sa[i-1] 与 sa[i] 的LCP 值 h[i]: 表 阅读全文
posted @ 2016-08-07 21:51 weeping 阅读(1348) 评论(0) 推荐(0) 编辑
摘要:kmp模板: 扩展kmp模板: 阅读全文
posted @ 2016-08-04 22:35 weeping 阅读(2333) 评论(0) 推荐(0) 编辑
摘要:前面两份代码其实并不是真的nlogn级别的,因为在合并时枚举的点的个数并不是6个点,真正的分治法只需枚举六个点就可以。所以前两份代码容易被卡时间!!!这是我在比赛时wa了21发得到的血的教训!!! 阅读全文
posted @ 2016-07-28 14:48 weeping 阅读(2710) 评论(3) 推荐(0) 编辑
摘要:#include #include #include using namespace std; const int N=110; int dfn[N],low[N],head[N],vis[N]; bool cut[N]; int k,n,cnt,root; struct Edge{ int to,nxt; }edge[N1) || (u!=root && dfn[u]<=low... 阅读全文
posted @ 2016-07-26 00:47 weeping 阅读(115) 评论(0) 推荐(0) 编辑
摘要:#include #define PB push_back #define MP make_pair using namespace std; typedef long long LL; typedef pair PII; #define PI acos((double)-1) #define E exp(double(1)) #define K 100000+9 int a[K],vis[K... 阅读全文
posted @ 2016-07-24 11:27 weeping 阅读(396) 评论(0) 推荐(0) 编辑
摘要:LL gcd(LL a,LL b){ if(b==0) return a; else return gcd(b,a%b); } LL ex_gcd(LL a,LL b,LL &x,LL &y){ if(b==0){ x=1;y=0; return a; } LL r=ex_gcd(b,a%b,x,y); LL t=... 阅读全文
posted @ 2016-07-24 09:24 weeping 阅读(251) 评论(0) 推荐(0) 编辑
摘要:/**************************************************** 二分图匹配(匈牙利算法的DFS实现) INIT:g[][]两边定点划分的情况 CALL:res=hungary();输出最大匹配数 优点:适于稠密图,DFS找增广路快,实现简洁易于理解 时间复杂度:O(VE); ***************************************... 阅读全文
posted @ 2016-07-22 23:00 weeping 阅读(134) 评论(0) 推荐(0) 编辑
摘要:再来一个: 其实就是快速幂的原理! 阅读全文
posted @ 2016-07-21 01:31 weeping 阅读(315) 评论(0) 推荐(0) 编辑