自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Magic_Sheep的博客

朝向无法临近的彼端

  • 博客(23)
  • 收藏
  • 关注

原创 BZOJ 2780 后缀自动机

由于是英文题,简要解释一下题目。开始给出n个子串,和m个询问,对于每个询问读入一个子串,询问n个子串中,有多少个子串包含所询问的子串。实在看不懂的可以从样例中意会一下。#include <cstdio>#include <iostream>#include <algorithm>#include <vector>#include <cstring>#include <set>using

2017-03-28 15:29:50 482

原创 BZOJ 3262 陌上花开 三维偏序 树状数组套Treap

一共三维,第一维排序,第二维树状数组,第三维Treap#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<queue>#include<cmath>using namespace std;const int maxn = 3000050;int size,n,k,p,val,x,

2017-03-28 15:23:33 632

原创 BZOJ 3172 [Tjoi2013]单词 后缀自动机

其实这显然是一道AC自动机裸题,这里补上后缀自动机做法。#include <bits/stdc++.h>using namespace std;#define maxn 1100000int n,len;string s[500];struct SAM{ int a[maxn<<1][28],fa[maxn<<1],mx[maxn<<1],num[maxn<<1]; in

2017-03-28 15:18:45 1321

原创 BZOJ 3166 [Heoi2013]Alo

明显可以用可持久化01Trie树来搞,Tire树可持久化方式同主席树。用set判断可行区间具体见代码。#include<cstdio>#include<iostream>#include<set>#include<algorithm>using namespace std;const int maxn = 55000;const int inf = 0x3f3f3f3f;const i

2017-03-25 21:20:33 375 1

原创 BZOJ 1797 [Ahoi2009]Mincut 最小割

最小割的必须边 一定在最小割中的边、扩大容量后能增大最大流的边,Poj3204: ① 满流;② 残余网络中S能到入点、出点能到T。 从S开始DFS、T开始反向DFS,标记到达的点,然后枚举满流边即可。最小割的可行边 被某一种最小割的方案包含的边,AHOI2009: ① 满流;② 删掉之后在残余网络中找不到u到v的路径。 在残余网络中tarjan求SCC,(u,v)两点在同一SCC中说明残

2017-03-25 21:14:09 372

原创 BZOJ 1822 [JSOI2010]Frozen Nova 冷冻波

很明显的一道最大流,利用计算几何判断是否被攻击的关系。二分时间以判断攻击次数,每次重新建图。#include<cstdio>#include<iostream>#include<cstring>#include<vector>#include<queue>#include<stack> #include<cmath>using namespace std;const int maxn

2017-03-25 20:28:26 441

转载 BZOJ 3277&&3473 广义后缀自动机

两道题一模一样,不说什么了。对于所有串建立广义后缀自动机,用set维护每个状态出现在哪些串里,构建出parent树结构,进行一遍dfs 逆序启发式合并set即可。统计答案只要在自动机上跑一遍如果k#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<set>#include<vector

2017-03-21 11:53:20 463

原创 BZOJ 1180: [CROATIAN2009]OTOCI

动态树裸题,维护sum时注意一下splay和access的对象即可。还有 rev[x]^1。。。rev[x]^=1;#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int maxn = 50000;int ch[maxn][2],sum[maxn],fa[maxn],val[max

2017-03-21 11:38:47 385

原创 BZOJ 3224 普通平衡树 Trie树

本文介绍一个简短好写的数据结构,01trie树,它可以支持普通平衡树所要求所有操作,而且简单易懂。代码是在网上看的,作者不详,希望原作者注明来源。对于每个数进行二进制拆分,把拆成的01串插进Trie树中。 由于负数的二进制处理比较麻烦,所以我们不如把其补成正整数,询问时再减去即可。 其余的见代码吧,相当好理解。#include <cstdio>#define ls(x) (ch[x][0])

2017-03-18 21:20:33 803 1

原创 bzoj 3524: [Poi2014]Couriers 随机化算法

正常人一般都写主席树,受到sxysxy神犇的启发,我也尝试了一下随机化算法,因为每一个区间内重复超过一半的数很容易随机出来,所以我们每次在区间内rand出一个位置,看该位置的数是否在区间内超过一半,如果rand次数超过固定值则输出 0 。判断时可以使用stl,具体见代码。期望复杂度 O(nlog^2n) 实际复杂度 玄学??此代码在 WA TLE 和 AC 间徘徊….#include<cstdio>

2017-03-16 21:35:43 564

原创 BZOJ 2982 combination

lucas定理裸题,表达式:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p 由于p为素数 根据费马小定理: 已知(a, p) = 1,则 a^p-1 ≡ 1 (mod p),  所以 a*a^p-2 ≡ 1 (mod p)。 也就是 (m!(n-m)!)的逆元为 (m!(n-m)!)^p-2#include<cstdio>#include<iostream>#defi

2017-03-16 21:24:06 384

原创 BZOJ 4033 [HAOI2015]树上染色

一道树形dp,dp[u][k]表示第u个节点染k个黑点的最大值。 有点像树形背包,复杂度可以看作是枚举LCA 为 O(n^2)。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>using namespace std;#define LL long longcon

2017-03-16 21:12:14 398

原创 BZOJ 2946 [Poi2000]公共串

第一个串建立后缀自动机,其余串在后缀自动机上进行匹配,每个状态记录所有串匹配最小值,最后对所有状态求最大值即可。对mx[]排序可以得到后缀树和自动机的拓扑序。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn=4010;int n,

2017-03-16 21:06:31 546

原创 BZOJ 2555: SubString 动态树+后缀自动机

首先,这是一道代码题,利用动态树维护后缀自动机的parent树,如果不是强制在线,可能会好写一点。对于每个询问,找到被询问节点所在的right集合,集合大小即为答案。注意,这里的LCT为有向的,写起来有些不一样。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;

2017-03-16 19:46:37 280

原创 BZOJ 1036 [ZJOI2008]树的统计Count

树链剖分挺好的练手题,直接放代码吧。/**************************************************************    Problem: 1036    User: vermouth    Language: C++    Result: Accepted    Time:2756 ms    Memory:152744 kb*****

2017-03-10 21:45:27 278

原创 BZOJ 2594 [Wc2006]水管局长数据加强版

由于题目有删除操作,所以我们不妨倒叙枚举,把删边变成加边。某人还起了个好听的名字叫“时光倒流”……之后用动态树维护一下动态最小生成树就行了,每加入一条边就用动态树树找出两点见最长边,比较大小看是否能替换就行了。这里还有一个小技巧,就是二分边标号来找出每个询问所对应的边的标号。24700ms 刚好卡时。/*************************************************

2017-03-10 21:35:28 338

原创 BZOJ 3112 [Zjoi2013]防守战线

同 noi 2008 志愿者招募,把基变量和非基变量改改就行了;ps:这题要用 long long#include<cstdio>#include<iostream>#include<cstring>#include<cmath>using namespace std;const int maxn=100010;const double inf = 10000000000000.00;

2017-03-08 20:05:28 442 1

原创 BZOJ 1061 [noi2008] 志愿者招募

单纯形裸题….话说单纯形好像只有裸题。 b数组为基变量,c数组为非基变量。当所有非基变量系数小于0时,我们令所有的非基变量等于0最优解及后面的常数。#include<cstdio>#include<iostream>#include<cstring>#include<cmath>using namespace std;const int maxn=100010;const double

2017-03-08 20:00:15 295

原创 COGS 2123. [HZOI 2015] Glass Beads

最小表示法,这里用后缀自动机实现。 刚刚学了后缀自动机,懵逼中。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int maxn=3001000;char s[maxn*2];int n;struct sam

2017-03-06 21:00:33 361 2

原创 BZOJ 2809 Apio2012]dispatching 斜堆 可并堆

由题意可知,对于每个子树内用一定费用来雇忍者使得根节点的忍者领导能力*雇佣人数最大。对于每个子树可以用堆来维护费用的大小,每次合并两个子树时,合并两个堆就行了…..所以这里我们需要使用到可并堆。本人码力较低,代码中使用的的是斜堆,个人认为比较好写,只有一个merge操作,加入新节点只要合并即可,删除节点时只需把根节点的左右儿子合并。每次操作时间复杂度均摊O(nlogn)(QAQ并不会证)。#incl

2017-03-06 20:10:58 292

原创 bzoj 3105 线性基

就正常的nim游戏来说,异或和为0先手必败,所以对于第一次取只要构造出没有异或和为0的子集的线性基就行了。#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int maxn = 10005;int n,a[maxn],b[maxn],ins[maxn],cnt;long long

2017-03-03 21:33:11 257

原创 bzoj 4568 [Scoi2016]幸运数字 倍增+线性基

首先我们可以先预处理倍增链上的线性基,需要合并两个线性基时暴力合并就行了。bzoj时限60s 可以卡过去。#include<cstdio>#include<iostream>#include<cstring>#include<vector>#include<algorithm>#define ll long longusing namespace std;const int maxn=

2017-03-03 21:03:22 409

原创 BZOJ 4199 [Noi2015]品酒大会

后缀数组好题,把height从大到小排序,利用并查集维护每个height值大于0的后缀。由于权值可能为负,所以维护最大值的同时还要维护最小值,每次合并左右相邻rankps:有抄代码的嫌疑…..#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#define ll long longusing name

2017-03-03 20:50:49 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除