模板库
_Apocrypha
这个作者很懒,什么都没留下…
展开
-
czl蒟蒻的模板库1——Dijkstra
#include <bits/stdc++.h>using namespace std;const int M=500005;const int N=100005;typedef long long ll;typedef pair<int,int>P;#define fi first#define se secondstruct edge{ int to; int c原创 2017-11-09 18:26:58 · 205 阅读 · 0 评论 -
知识点整理:FFT详解
前言前置知识知识点讲解概要多项式相乘的朴素算法系数表示法与点值表示法复数的引入单位复根DFT前言FFT其实在很早的时候就已经接触到了,但是那个时候学起来有点仙,感觉这东西离实际解题的距离有点远,不如那些其他的数据结构那么直接。但是半年多下来的做题,发现FFT其实应用的十分广泛,并且很多数学题推出公式之后就可以套用FFT进行计算。所以对于FFT的理解也不...原创 2018-07-27 15:32:58 · 1473 阅读 · 0 评论 -
BZOJ 3065 带插入区间K小值 (树套树、替罪羊树套线段树)
BZOJ3065 带插入区间K小值题意题外话题解AC代码:BZOJ3065 带插入区间K小值题意Description 从前有nnn只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力a[i]a[i]a[i]。跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴。这时跳蚤国王决定理性愉悦一下,查询区间kkk小值。他每次向它的随从伏特提出这样的问题: 从左往右...原创 2018-07-24 20:25:57 · 555 阅读 · 0 评论 -
知识点整理:二叉(重量)平衡树——替罪羊树
知识点概要知识点详解平衡因子子树的重构基础操作复杂度分析关于替罪羊树代码(luogu3369 &amp;&amp; BZOJ3224)知识点概要在各种二叉平衡树中,大多数的平衡树都是通过旋转来维护这棵二叉查找树的性质,并且尽量保证每次的查找的复杂度为logloglog的。然而说实话,各种情况的旋转很容易写挂,考场上一旦写挂掉就会心态爆炸,所以我们或许...原创 2018-07-24 08:18:41 · 931 阅读 · 0 评论 -
czl蒟蒻的模板库8——单调队列
#include <bits/stdc++.h>using namespace std;const int maxn=2000005;typedef long long ll;typedef pair<ll,int>P;#define fi first#define se secondinline void read(int &x){ x=0;int f=1;char ch=g原创 2017-11-10 14:04:51 · 205 阅读 · 0 评论 -
czl蒟蒻的模板库4——Tarjan
#include <bits/stdc++.h>using namespace std;const int maxn=500005;typedef long long ll;int n,m,s;int f[maxn];bool vis[maxn];int q1[maxn],q2[maxn];int ans[maxn];vector<int >e[maxn];inline void r原创 2017-11-09 18:32:04 · 263 阅读 · 1 评论 -
czl蒟蒻的模板库7——最长公共子序列
#include <bits/stdc++.h>using namespace std;const int maxn=1005;int f[maxn][maxn];int n;int a[maxn],b[maxn];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]原创 2017-11-09 18:35:42 · 277 阅读 · 1 评论 -
czl蒟蒻的模板库6——倍增LCA
#pragma GCC optimize (3)#include <bits/stdc++.h>using namespace std;namespace fastIO{ #define BUF_SIZE 100005 #define OUT_SIZE 100005 #define ll long long //fread->read bool IOer原创 2017-11-09 18:34:32 · 303 阅读 · 2 评论 -
czl蒟蒻的模板库5——线段树
求区间和:#include <bits/stdc++.h>using namespace std;const int maxn=100005;typedef long long ll;struct node{ ll val; ll addmark;}no[maxn*4];ll a[maxn];void build(int pos,int l,int r){ no[原创 2017-11-09 18:33:10 · 208 阅读 · 0 评论 -
czl蒟蒻的模板库3——KMP
#include<iostream>#include<cstring>#include<stdio.h>using namespace std;char s[1010];char t[2020];int p[1010];void get_p(int n){ p[0]=-1; for(int i=1,j=-1;i<=n;i++) { while(j原创 2017-11-09 18:31:07 · 185 阅读 · 0 评论 -
czl蒟蒻的模板库2——FASTIO
~~注:必须使用文件操作读入和输出~namespace fastIO{ #define BUF_SIZE 100005 #define OUT_SIZE 100005 #define ll long long //fread->read bool IOerror=0; inline char nc(){ static char buf[原创 2017-11-09 18:30:06 · 257 阅读 · 0 评论 -
知识点整理:斜率优化DP
前言概要知识点讲解单调性归纳证明基于单调性的转移优化例题AC代码练习题BZOJ1096 仓库建设解题思路AC代码BZOJ1911 特别行动队解题思路AC代码前言最近刷BZOJ的题目的时候,发现做到了很多题目都是用到了斜率优化,这个优化很早也接触过,但也没有仔细地去学。最近认真的去学了一下,就在这里做个整理概要斜率优化是基于单...原创 2018-08-01 19:28:37 · 306 阅读 · 0 评论