
===模版===
Loi_a
这个作者很懒,什么都没留下…
展开
-
bzoj1911 特别行动队 斜率优化
斜率优化最裸的裸题,但是式子推了好久,忘了形式。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define LL long longusing namespace std;LL dp[1000005];LL s[1000005];LL a,b,c;LL p(LL x){ retur原创 2016-09-21 21:16:19 · 400 阅读 · 0 评论 -
bzoj 3282 Tree 动态树LCT
学了一天LCT,还是不太明白,打(抄)了一个模板,先存着。#include<iostream>#include<cstdio>#include<algorithm>#include<stack>#define maxn 300005using namespace std;inline void read(int &a){ a=0;char c=getchar(); wh原创 2016-09-27 15:30:30 · 503 阅读 · 0 评论 -
hdu 1512 左偏树
题意大概是有n只猴子,m次矛盾,a和b产生矛盾时,如果他们不认识,就会找各自认识中最强壮的猴子打架,然后打架的猴子权值减半,这两拨猴子就互相认识了,成了一群猴子,每次求合成一群后的最大权值。#include<iostream>#include<cstdio>#define maxn 100001using namespace std;int f[maxn];int find(int x)原创 2016-12-31 19:55:35 · 507 阅读 · 0 评论 -
bzoj1468 tree 点分治
给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K计算经过根的路径,既离根的距离之和小于K的点,然后递归处理不经过根的路径。这样会有一些重复,两点与根的距离之和小于K,但是路径不经过根,需要减掉。#include<iostream>#include<cstdio>#include<algorithm>#define maxn 80005using namespa原创 2016-12-20 19:16:06 · 500 阅读 · 0 评论 -
tyvj1860 后缀数组 模板
注意常数优化(优化输出等)。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MAXN=2e5+10;int n,sa[MAXN],tmp[MAXN],rank[MAXN],sec[MAXN],cnt[MAXN],height[MA原创 2016-12-26 17:19:44 · 416 阅读 · 0 评论 -
bzoj 3110 K大数查询 整体二分
#include<cstdio>#include<iostream>#define maxn 50005#define LL long longusing namespace std;int n,m;struct Que{ int op,l,r,x,id; void read() { scanf("%d%d%d%d",&op,&l,&r,&x);原创 2017-01-03 19:15:47 · 480 阅读 · 0 评论 -
洛谷1341 无序字母对 欧拉路
#include<iostream>#include<cstdio>using namespace std;char a[4];int vis[55][55];int f(char s){ if(s>='A'&&s<='Z') return s-'A'+1; return s-'a'+27;}int cd[55];int jd[55],cnt;vo原创 2016-11-14 17:17:32 · 564 阅读 · 0 评论 -
CTSC2014 企鹅QQ Hash模板
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#define LL unsigned long longusing namespace std;LL Hash[30005];char s[30005][205];int n,L,k;int num(char c){ if(c>='原创 2016-11-17 07:32:03 · 500 阅读 · 0 评论 -
SCOI 2010 生成字符串 组合数+逆元
计算组合数有许多方法,我先是分解质因数,但是这样效率非常低,1700ms。 然后求逆元,求解,时间复杂度为o(N).这个模数是质数,不用考虑逆元无解情况。#include<iostream>#include<cstdio>#define LL long longusing namespace std;LL K=20100403;LL x,y;void exgcd(LL a,LL b)原创 2016-11-16 20:15:18 · 442 阅读 · 0 评论 -
HDU 2222 Keywords Search AC自动机
存个模板。#include<iostream>#include<cstdio>#include<queue>#include<cstring>#define SZ 500005using namespace std;struct Trie{ int val[SZ],ch[SZ][30],tot; int fail[SZ],lst[SZ]; void insert(原创 2016-10-16 11:19:54 · 354 阅读 · 0 评论 -
KMP模板
#include<iostream>#include<cstdio>#include<cstring>using namespace std;char s1[1000005],s2[1000005];int fail[1000005];void init(int m){ fail[1]=0; for(int i=2;i<=m;i++) { int原创 2016-10-14 14:43:57 · 405 阅读 · 0 评论 -
bzoj3450 Tyvj1952 Easy 简单的数学期望
题目大意:一个长度为n(n<300,000)的序列,每个地方可以是o,x,?中的一个。‘?’表示x和o的概率各是50%。一个序列的权值是所有连续的‘o’长度的平方和,问给出序列的期望权值是多少。 例如 oo?xxo 如果’?’是’o’,则权值为3²+1²=10; 如果’?’是‘x’,则权值为2²+1²=5; 期望就是(10+5)/2=7.5;========================原创 2016-07-29 13:28:11 · 524 阅读 · 0 评论 -
poj3281 Dining 最大流
模板#include<iostream>#include<cstdlib>#include<queue>#include<cstdio>#include<cstring>using namespace std;queue<int> q;struct Edge{ int to,cap;}b[20005];int fst[505],nxt[20005],tot=1;int原创 2016-09-02 21:03:24 · 354 阅读 · 0 评论 -
Windy数BZOJ 数位DP
#include<iostream>#include<cstdio>#include<cstring>int qqq(int x){ return x>=0?x:-x;}using namespace std;int dp[15][10][2];char a[15],b[15];int main(){ scanf("%s%s",a+1,b+1); int原创 2016-07-25 22:07:09 · 393 阅读 · 0 评论 -
bzoj1503郁闷的出纳员 Splay
Splay维护插入,删除,由排名找值,裸题。 但是比较坑的一点是最后统计离开人数的时候,刚进来就离开的人是不计入答案的(再次重复我语文不好)。直接上代码。#include<iostream>#include<cstdio>using namespace std;int ch[100005][2];int fa[100005];int sz[100005];int key[100005]原创 2016-07-28 15:24:53 · 425 阅读 · 0 评论 -
bzoj1051 受欢迎的牛 tarjan
存一个tarjan模板就跑。#include<iostream>#include<cstdio>#include<stack>using namespace std;int fst[10005],nxt[100005],to[100005];int tot=1;void build(int f,int t){ to[++tot]=t; nxt[tot]=fst[f];原创 2016-07-28 15:31:09 · 429 阅读 · 0 评论 -
poj2104 K-th number 主席树模版
这个题以前分块做,学了主席树(抄模版),存一下;#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int a[100005];int L[100005];struct zxs{ int l,r,cnt;}tree[5000005];int tot=1;int rt[100005]原创 2016-08-16 09:54:07 · 363 阅读 · 0 评论 -
bzoj1036 树的统计 树链剖分
又是一道裸题,刚学会树链剖分,存个模版。#include<iostream>#include<cstdio>using namespace std;struct bian{ int to;}b[60005];int fst[30005],nxt[60005];int tot=1;void build(int f,int t){ b[++tot].to=t; n原创 2016-08-16 15:31:28 · 471 阅读 · 0 评论 -
bzoj 2055 80人环游地球 上下界费用流
这题像上下界网络流一样,把一条边拆成三条,其中原图中的边权值不变,连向超级源点和汇点的边权值改为0就可以。然后把边合并一下。答案为每条边最小容量*权值+建完图后最小费用流。#include<queue>#include<cstdio>#include<cstring>#include<iostream>#define maxn 405#define LL long longusing n原创 2017-03-30 14:20:28 · 471 阅读 · 0 评论