![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板自用
ordinarv
努力才是人生的常态
展开
-
线段树
模板原创 2019-11-18 23:39:58 · 167 阅读 · 0 评论 -
树链剖分模板
//test 洛谷模板题#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> piir;const int maxn = 1e5+5;int n,m,r,mod;ll wt[maxn],w[maxn];struct node{ i...原创 2019-11-18 23:39:26 · 178 阅读 · 0 评论 -
树链剖分模板
测试题目P3384 【模板】树链剖分#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> piir;const int maxn = 1e5+5;int n,m,r,mod;ll wt[maxn],w[maxn];//点权struct...原创 2019-11-15 12:34:13 · 145 阅读 · 0 评论 -
点分治
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 1e5+5;/* sz[x] 表示以x为根的子树的size使多少 son[x]表示x的儿子中size最大的是 rt 是我们要找的重心 all 当前子...原创 2019-10-10 22:27:15 · 91 阅读 · 0 评论 -
__int128
void scan(__int128 &x){ x = 0; int f = 1; char ch; if((ch = getchar()) == '-') f = -f; else x = x*10 + ch-'0'; while((ch = getchar()) >= '0' && ch <= '9') ...原创 2019-10-05 23:19:49 · 136 阅读 · 0 评论 -
Dinic模板
#include<bits/stdc++.h>#define mk make_pairusing namespace std; typedef long long ll;const double PI = acos(-1.0);const double eps = 1.0e-8;const int INF = 0x3f3f3f3f;const int maxn = 1...原创 2019-09-06 22:04:34 · 89 阅读 · 0 评论 -
HDU-4857逃生
逃生Problem Description糟糕的事情发生啦,现在大家都忙着逃命。但是逃命的通道很窄,大家只能排成一行。现在有n个人,从1标号到n。同时有一些奇怪的约束条件,每个都形如:a必须在b之前。同时,社会是不平等的,这些人有的穷有的富。1号最富,2号第二富,以此类推。有钱人就贿赂负责人,所以他们有一...原创 2019-02-17 17:58:37 · 192 阅读 · 0 评论 -
后缀数组(Suffix Array)
前言SA是一种解决多模板匹配问题的算法。大致就是将后缀处理出来然后按照字典序排个序。时间主要浪费在排序上。sa数组sa[i]表示rk为i的后缀的开始位置。rk数组rk[i]表示以i位置开始的后缀的rank为多少。基数排序先排个位,然后十位依次往下,稳定算法。模板const int N = 1e6 + 5; // 开二倍吧int sa[N], rk[N], Height...原创 2019-08-24 17:29:42 · 238 阅读 · 0 评论 -
树状数组
树状数组是一个查询和修改复杂度都为log(n)的数据结构,单点修改、区间询问#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAX_N=32005;const int maxn=15010;int n,tre[MAX_N];...原创 2018-07-21 20:46:52 · 91 阅读 · 0 评论 -
HDU-1535Invitation Cards(链式向前星+dijkstra堆优化)
HDU-1874畅通工程续题目链接板子#include<iostream>#include<cstring>#include<queue>#include<utility>#define mk make_pairusing namespace std;const int maxn = 1e3+5;const int INF...原创 2019-04-04 14:14:42 · 161 阅读 · 0 评论 -
快速幂、快速乘法(mod)
快速幂由于*的优先级高于%所以不用加括号,但是+优先级却低于%原理,11的二进制是1011,So 我们将其转化为。&1就是取该数二进制的最后一位。typedef long long ll;ll q_pow(ll x,ll y){ ll ans=1; while(y){ if(y&1) ans*=x;//判断n的二进制是否为1 x*=x...原创 2018-08-06 16:12:48 · 1102 阅读 · 0 评论 -
输入挂
一 inline ll read(){ char c=getchar();ll f=1,x=0; while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();} while(c>='0'&&c<='9')x=x*10+(c-'0'),c=getchar(); return x*f;}...原创 2018-12-07 10:36:19 · 174 阅读 · 0 评论