模板
jerome_wei
OIer
展开
-
[bzoj1059] 矩阵游戏
[bzoj1059] 矩阵游戏我大概是背不到匈牙利算法的板子了代码#include<bits/stdc++.h>using namespace std;const int N=310;int a[N][N],n;int mat[N];bool vis[N];bool dfs(int x){ for(int i=1;i<=n;i++){ ...原创 2018-10-29 20:02:47 · 358 阅读 · 0 评论 -
[bzoj1797]Mincut 最小割
[bzoj1797]Mincut 最小割是否是最小割的判断方法就是把残量网络跑一下tarjan(有流量的时候有边)可能出现:满流且co[u]!=co[v]一定出现co[u]==S&&co[v]==T代码#include<bits/stdc++.h>using namespace std;const int N=1e5+5,M=2e...原创 2019-01-06 20:59:26 · 180 阅读 · 0 评论 -
[bzoj2286]消耗战
[bzoj2286]消耗战建虚树dp代码#include<bits/stdc++.h>using namespace std;const int N=5e5+5;typedef long long ll;int anc[N][22];ll mn[N];const ll INF=1000000000000000000;int n,m;int num,dfn...原创 2019-01-04 17:17:21 · 182 阅读 · 0 评论 -
[bzoj3551] Peaks加强版
[bzoj3551] Peaks加强版Kruskal重构树。轻微卡常。代码#include<bits/stdc++.h>using namespace std;const int N=2e5+5;const int M=1e6+5;struct edge{ int u,v,val; bool operator<(const edge b)const{r...原创 2019-01-03 20:11:43 · 219 阅读 · 0 评论 -
[bzoj2120] 数颜色
[bzoj2120] 数颜色带修改莫队,块的大小是n^(2/3),这样我们可以保证复杂度在n^(5/3)次方。代码#include<bits/stdc++.h>using namespace std;const int N=5e4+4;const int blksz=1357;inline int blk(int x) { return x/blksz;...原创 2018-12-29 15:22:01 · 125 阅读 · 0 评论 -
FFT板子
FFT板子代码#include<bits/stdc++.h>using namespace std;typedef double db;typedef complex<double> cplx;const int N=(1<<22)+5;const db PI=acos(-1.00);int rev[N];void dft(int n,...原创 2018-11-30 21:04:09 · 205 阅读 · 0 评论 -
SA板子
SA板子代码#include<bits/stdc++.h>using namespace std;const int maxn = 1000010;int n;char s[maxn];int sa[maxn],rank[maxn],height[maxn];int p[maxn],tmp[maxn],cnt[maxn];bool equal(int x,int...原创 2018-12-02 23:16:09 · 271 阅读 · 0 评论 -
[挂几个网络流板子]
[挂几个网络流板子]最大流/最小割:Dinic代码#include<bits/stdc++.h>using namespace std;const int N=10010,M=2e6+5;const int INF=0x3f3f3f3f;int n,m;namespace graph{ int hed[N],cnt=1,to[M],nxt[M],cap...原创 2018-11-02 19:27:18 · 175 阅读 · 0 评论 -
[bzoj2242]计算器 [三个板子]
[bzoj2242]计算器三个板子,以下是需要注意的地方qpow的板子不用说了,不要把取模算错就是了。 解同余方程的时候最后小心乘爆 bsgs先取下模然后特判以下0代码#include<bits/stdc++.h>using namespace std;int T,K;typedef long long ll;int qpow(int a,int b,...原创 2018-11-04 15:48:52 · 151 阅读 · 0 评论 -
[bzoj1123]BLO
[bzoj1123]BLO割点版子改一下。 之后大概写个各种tarjan算法的blog吧。代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+5,M=1e6+5;int hed[N],to[M],nxt[M],cnt;void adde(int u,...原创 2018-10-30 20:46:38 · 234 阅读 · 0 评论 -
[关于几个tarjan算法]
[关于几个tarjan算法]首先要搞清楚的是dfn和low两个数组的含义。dfn是时间戳,表示dfs下第一次访问的时间,然后我们tarjan搜索树上的dfs序就是dfn值。然后low就是追溯值,表示一下节点dfn最小值:子树节点; 通过一条不在搜索树上的边,能达到子树的节点然后我们去考虑low[x]怎么算,根据上面的概念,我们不难推出1.边是搜索树上的边,y是x的子节点...原创 2018-10-31 19:53:18 · 574 阅读 · 0 评论 -
[bzoj3261]最大异或和
[bzoj3261]最大异或和可持久化01trie注意最后一个节点的sz不能赋值成1,要赋值成lst.sz+1代码#include<bits/stdc++.h>using namespace std;const int LEN=25,N=6e5+5;struct trienode{ int ch[2],endtime; int sum;}t...原创 2018-10-14 15:17:35 · 193 阅读 · 0 评论 -
[bzoj2002]Bounce 弹飞绵羊
[bzoj2002]Bounce 弹飞绵羊LCT板子题注意每个点的size可以直接在splay操作的时候维护代码#include<bits/stdc++.h>using namespace std;const int N=2e5+5;int n,m;struct SplayNode{ int ch[2],fa; int sz;}t[N];...原创 2018-09-30 20:55:47 · 207 阅读 · 0 评论 -
这是一个SAM板子
如题代码#include<bits/stdc++.h>using namespace std;const int N=2e6+5,SZ=26;struct SuffixAutomaton{ struct NODE{ int ch[SZ],fa; int len,right; }t[N]; int root,l...原创 2018-09-24 14:05:32 · 224 阅读 · 0 评论 -
[bzoj3944] Sum "杜教筛
[bzoj3944] Sum杜教筛板子代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=6e6+10;bool vis[N];int prime[N/10];int cnt;ll phi[N],mob[N];template <typenam...原创 2018-10-06 22:30:06 · 124 阅读 · 0 评论 -
[luoguP3373]线段树2
[luoguP3373]线段树21.我们规定先乘后加然后pushdown乘法的时候把加法一起乘就做出来了坑:1.pushup的时候忘了pushdown左右儿子,特别是add、mul操作中。 *不能以为把add操作中的当前点都pushdown一遍就没有问题, 有可能第一次操作在x<<1|1节点打标记然后下次操作你在x节点打标记,这样就会出问题2.注意在...原创 2018-10-11 19:47:27 · 106 阅读 · 0 评论 -
[bzoj3224]普通平衡树
[bzoj3224]普通平衡树平衡树板子。因为懒得删点,这里直接num--,然后要注意查询前驱后继的时候不能直接输出只能(我只会)再查一遍Kth写得丑别打我代码#include<bits/stdc++.h>using namespace std;const int N=1e5+5;struct Splay{ int ch[2],fa; int ...原创 2018-10-13 22:09:10 · 217 阅读 · 0 评论 -
[第一类斯特林求行]
[第一类斯特林求行]如题,复杂度一个log代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mod=998244353,g=3;inline int add(int a,int b){a+=b;return a>=mod?a-mod:a;}inline in...原创 2019-03-01 18:38:07 · 245 阅读 · 0 评论