![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
整理模板
summer_via
不积跬步无以至千里
展开
-
【几何】平面线段交
平面线段交如果要判断平面直角坐标系中两条线段是否相交,可以用向量的内积,外积进行清晰快速的计算。内积:p1(x1,y1),p2(x2,y2)的内积为p1*p2=x1*x2+y1*y2;外积:p1(x1,y1),p2(x2,y2)的外积为p1xp2=x1*y2-x2*y1;判断点是否在线段上:要判断点q是否在直线p1-p2上,之要先利用外积根据是否有(p1-q)x(p2-q)原创 2016-07-22 10:30:55 · 586 阅读 · 0 评论 -
hdu2892 圆与多边形交模板
转自:http://www.cnblogs.com/mypsq/p/4366893.htmlHDU - 2892 area Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u SubmitStatus D...转载 2016-11-09 12:49:58 · 360 阅读 · 0 评论 -
【模板】字符串hash
几种常用的hash函数:unsigned int SDBMHash(char *str){ unsigned int hash = 0; while (*str) { // equivalent to: hash = 65599*hash + (*str++); hash = (*str++) + (hash << 6) + (ha转载 2016-10-14 17:18:03 · 345 阅读 · 0 评论 -
【模板】快速数论变换ntt(long long版)
快速数论变换ntt(long long版)const LL P = 50000000001507329LL; //190734863287 * 2 ^ 18 + 1 //const int P = 1004535809LL; //479 * 2 ^ 21 + 1 //const int P = 1004535809; // 119 * 2 ^ 23 + 1 const in...转载 2016-10-13 09:04:10 · 760 阅读 · 0 评论 -
【模板】快速数论变换ntt
转自http://blog.csdn.net/zz_1215/article/details/40430041快速数论变换模板:#include <iostream> #include <string.h> #include <stdio.h> using namespace std; typedef long long L...转载 2016-10-13 08:54:13 · 408 阅读 · 0 评论 -
【模板】Meisell-Lehmer 模板
求1-n范围内的素数个数:#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N = 5e6 + 2;bool np[N];int prime[N], pi[N];int getprime() { int cnt = 0; np[0] = np[1] ...转载 2016-09-18 19:33:47 · 1086 阅读 · 0 评论 -
【模板】baby_step giant_step poj 2417
baby_step giant_step模板:求同余式a^(L)=b(mod p)中L的解,令L=i*m-j(m=sqrt(n)),则原式表示为a^(i*m)=b*a^j (mod p),将a^j的值存入hash表中,枚举i,若表中存在a^(i*m)的值,则存在a^L=b(mod p)即有解。模板:(摘自http://www.kuangbin.org/)/***//baby_ste...原创 2016-09-16 11:18:17 · 409 阅读 · 0 评论 -
【模板】FFT模板
FFT模板:#include #include #include #include #define Pi acos(-1.0)//定义Pi的值 #define N 200000 using namespace std; struct complex //定义复数结构体 { double re, im; complex ( doub转载 2016-09-15 10:17:56 · 284 阅读 · 0 评论 -
【图论】最小费用流模板
求达到流量f的最小费用/* 最小费用流模板(限定最小流量) * vector实现,使用前初始化G * V表示节点数,需要初始化 * 时间复杂度:O(F*V^2) */#define INF 0x3f3f3f3f#define MAX_V 1005typedef pair P;struct edge{ int to,cap,cost,rev;};int V;vec原创 2016-08-24 15:43:57 · 556 阅读 · 0 评论 -
【数论定理】卢卡斯定理
库卡斯模板:/* Lucas定理:我们令n=sp+q , m=tp+r .(q ,r ≤p) * 那么:C(n,m)=C(s,t)*C(q,r) * 使用前要打出0~mod-1的阶乘表fac[] * 时间O(logp(n)*p) */ const int mod=1000000007;typedef long long ll;ll fac[100018];ll pow_m(l...原创 2016-08-05 16:57:50 · 519 阅读 · 0 评论 -
【模板】poj 1655 Balancing Act【树的重心】
题目原文题意:求数的重心,以及最重的子树的节点数。树的重心:去掉树上某个点后,若使剩下的子树中节点数最大的子树的节点数最小则该点为树的重心代码:/* 使用前初始化G * 时间复杂度O(n) */vector<int> G[20005];int n;int dp[20005],w[20005];int dfs(int u,int f){ if(d...原创 2016-08-17 15:18:23 · 308 阅读 · 0 评论 -
【二分图匹配】Hopcroft-Karp算法模板
Hopcroft-Karp算法:Hopcroft-Karp算法的思想与dinic类似,就是在分层图的基础上一次求多条不相交的最短路径,可以增明最多在√n次数内完成。这里只是上传一下模板,看讲解的可以略过。Hopcroft-Karp模板:/* 二分图Hopcroft-karp算法模板 * 使用前初始化G,uN赋值为左边节点的个数 * mx,my分别表示二分图左边和右边的匹配原创 2016-08-01 19:22:18 · 676 阅读 · 0 评论 -
【字符串】KMP匹配模板
kmp算法:kmp算法就是通过模式串的自身匹配来构造跳跃数组next[],来加速运算。匹配时,若失去匹配,则模式串直接跳跃到最长前缀匹配的地方。模板:/* kmp算法: * kmp()返回匹配数。 * next[i]:ss的第i个位置前的最长与模式串ss前缀匹配的长度。 * vis[i]:第i个位置是否被匹配。 * 使用kmp()前必须调用pre_kpm(); * 时间复杂度原创 2016-07-28 21:44:14 · 729 阅读 · 0 评论 -
【模板】树的直径
树的直径:树上任意两点的距离的最大值。求法:通过两次bfs即可求出树的直径模板:/* 树的直径: * 使用前dis,G都要初始化 * 复杂度:O(n) */#define MAXN 105vector G[MAXN];int n,m;int dis[MAXN];int bfs(int u){ queue que; que.push(u);原创 2016-08-15 15:56:18 · 682 阅读 · 0 评论 -
网络流ISAP模板
ISAP算法模板(hdu 4289)//HDU4289 ISAP模板//复杂度O(E*V^2)#include#include#include#include#include#include#include#include#include#include#include//#pragma comment(linker,"/STACK:1024000000,102400原创 2016-07-06 16:39:26 · 462 阅读 · 0 评论 -
【图论】匈牙利算法模板
匈牙利算法:由增广路得性质可以知道,二分图最大匹配可以通过网络流来求解,所谓匈牙利算法就是针对网络流的特性来写的网络流。匈牙利算法模板:#include#include#include#include#include#include#include#include#include#include#include//#pragma comment(linker,"/原创 2016-07-25 14:31:03 · 459 阅读 · 0 评论 -
第二类斯特林数
#include#include#include#include#include#include#include#include#include#include#include#include//#pragma comment(linker,"/STACK:1024000000,1024000000")using namespace std;typedef long l原创 2016-11-10 22:33:23 · 493 阅读 · 0 评论