自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 BZOJ[2733][HNOI2012]永无乡 Splay启发式合并

题目链接题目大意及线段树合并解法在这里每合并两个点,将它俩启发式合并 启发式合并,即把小的暴力往大的那里插 说按前序遍历插复杂度会极其优越??第k大是平衡树基本操作代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#define N 100050using namespace std;inline int read(){

2017-12-29 15:44:30 430

原创 BZOJ[2733][HNOI2012]永无乡 线段树合并+并查集

题目链接 题目大意:给你n个点,每个点有权值k,现有两种操作:将两个点所在联通块合并,查询某个点所在联通块权值第k小是哪个数Splay启发式合并解法在这里这题输出的是点的编号不是点的值…. 对于每个点,开个权值线段树,合并操作用并查集查找,线段树合并 查询操作是权值线段树基本操作,找第kk小的数时,如果左儿子的数超过k个就在左儿子里,否则去右儿子找第k−ls−>sizk-ls->siz的数

2017-12-29 14:43:39 425

原创 BZOJ[3196]Tyvj 1730 二逼平衡树 树套树

题目链接线段树套平衡树 对于opt=1,在每个区间找出所有比k小的数,求和+1即为k的排名 对于opt=2,二分排名为k的值,如果该数存在的话答案就是这个数,不存在答案则为它的前驱 对于opt=3,在平衡树上删除再添加即可 对于opt=4,5,每段区间找一个,求他们的max/min即可这里套的是Splay一些细节:对于Splay删除操作,我询问了一些dalao的做法,这...

2017-12-28 12:10:00 356

原创 BZOJ[2743][HEOI2012]采花 树状数组

题目链接因为一段区间必须需要有两个颜色相同的点才有贡献 换句话说,只有第二个点才会有贡献考虑离线,按询问按左端点从小到大将排序 用nexinex_i表示ii号点下一个相同颜色点的位置,firifir_i表示ii号颜色第一个出现的位置开一个树状数组aa 先将每个nexfir[i]nex_{fir[i]}在树状数组上+1 从左到右移动指针ll,同时处理所有左端点为ii的询问,统计l→rl \to

2017-12-27 15:15:45 267

原创 BZOJ[4327]JSOI2012 玄武密码 AC自动机

题目链接将每个字串插入AC自动机中,用主串上去匹配,每个走过的点x都是主串的一个前缀因为一个点的Fail一定是它的后缀,这样沿着x的Fail一直向上爬就可以标记出每一个出现的子串(前缀的后缀,就是原串的一个字串),遇见标记过的就停止,这样保证每个点只被走一次插入子串时,记录每个子串的结束位置,统计时沿着每个字串的结束点一直向上爬,找到第一个被标记的点就是最长的前缀 注意这里的向上爬的意思是向上爬树

2017-12-27 15:00:45 513

原创 BZOJ[1823][JSOI2010]满汉全席 2-SAT

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1823满式和汉式不能同时选 对于每一个要求x,y,不做x就要做y,不做y就要做x,连边 Tarjan判断是否有一种食材既要做满式,又要做汉式(在一个强连通分量中),如果有,则为BAD 其他情况都是GOOD代码如下:#include<algorithm>#include<ctype.h>

2017-12-23 20:18:09 328

原创 BZOJ[1030][JSOI2007]文本生成器 AC自动机+dp

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1030统计所有能匹配到这些串的, 将串的总数(26m26^m)减去匹配不到的就可以统计了 建完AC自动机后,将所有危险点标记,在AC自动机上dp fi,jf_{i,j}表示匹配j个字母后到AC自动机上的点i上,不与危险串匹配的方案有多少 如果i和他的儿子x都不危险,那么fx,j+1=fi

2017-12-22 20:37:49 300

原创 BZOJ[2565]最长双回文串 Manacher

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2565题目要求找由两个回文串拼一起最长的串 只寻找一个回文串Manacher就可以了 如果两个拼在一起,则在Manacher后,对于每个点i,统计是哪个点最先向右/左拓展到i 可以发现,用两个这样的串拼起来肯定会更优 就这么记录答案即可代码如下:#include<algorithm>#

2017-12-22 20:31:37 302

原创 BZOJ[2084][Poi2010]Antisymmetry Manacher

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2084回文串首先会想到Manacher 但本题是让0和1匹配 把匹配条件改为一个1一个0,或两个#,跑Manacher即可 统计答案时要统计区间长度为偶数的,只需统计#作终点的就可以了代码如下:#include<algorithm>#include<cstring>#include<c

2017-12-22 20:26:40 287

原创 BZOJ2938[Poi2000]病毒 AC自动机

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2938发现一个合法的串一定不会与病毒串匹配 如果让它无限长,就说明一直匹配不到病毒串 如果找到一个不经过病毒点的环,那么就存在无限长度的合法串 AC自动机建完图后,再用dfs判断即可代码如下:#include<cstring>#include<ctype.h>#include<cstd

2017-12-21 21:28:03 403

原创 Duan2baka的KMP模板!

POJ[3461] Oulipo题目链接:http://poj.org/problem?id=3461KMP常用于单模字符串匹配问题代码如下:#include<cstring>#include<cstdio>#define N 1000020using namespace std;int T;int nex[N];char str1[N],str2[N];inline void Get

2017-12-21 09:31:40 566

原创 Vijos[1028]魔族密码 Trie树+拓扑排序

题目链接https://vijos.org/p/1028Tire在插入的过程中将所有经过的点向他连边 拓扑跑最长链(LIS也可做)代码如下:#include<cstring>#include<cstdio>#include<queue>#define N 500020using namespace std;struct Node{ int x; Node *ch[26];

2017-12-21 09:18:07 343

原创 BZOJ[1877]晨跑 费用流

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1877 题目大意:给一有向图G,多次从1到n,求代码如下:#include#include#include#define N 505#define INF 2147483647using namespace std;const int S=501;const i

2017-12-20 21:04:52 297

原创 Codevs[1227]方格取数2 费用流

题目链接:http://codevs.cn/problem/1227/ 题目大意:传k遍纸条每个点拆成入和出,入向出连一条容量为1,费用为该点权值的边(表示选这个点,只能走一次) 再连一条容量为INF,费用0的边(选过就不再有贡献) 每个点的出向右和下的入连一条容量为INF费用为0的边 超级源连点(1,1)的入一条容量为k,费用0的边(传k遍),点(n,m)的出连向超级汇,容量INF,费

2017-12-20 20:59:10 322

原创 12.20成都联考题解

糖果镇 考虑n=2的情况,发现只要枚举在哪个点下去就可以了同样的,对于n=3的数据,枚举第二行从哪里下第三行,暂时假设答案ans就是第二行的1~i和第三行的i~n,那么选第一行,对答案的影响为sum1,i−sum2,isum_{1,i}-sum_{2,i},将这个值模p后插入一棵平衡树里,枚举断点时找出p-1-ans的前驱作为当前更新即可代码如下:#include<algorithm>#incl

2017-12-20 19:55:17 341

原创 BZOJ[1735][Usaco2005 jan]Muddy Fields 泥泞的牧场 网络流

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1735和BZOJ[1693]有些类似,不同的是不能穿过障碍 因为木板是无限长的且可以被覆盖,所以如果在一个地方放木板,那么一定要尽可能往长了放(反正也可以被覆盖) 找出覆盖每个点最长的横木板和竖木板,连一条横竖的边,转化为最小点覆盖问题,跑最大流求出答案代码如下:#include<algor

2017-12-19 17:17:59 420

原创 BZOJ[1693][Usaco2007 Demo]Asteroids 网络流

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1693对于点P(i,j)P(i,j),从i行向j列连一条流量为1的边,转化为最小点覆盖问题,跑二分图/最大流即可代码如下:#include<algorithm>#include<cstring>#include<ctype.h>#include<cstdio>#include<queue

2017-12-19 13:47:13 531 2

原创 BZOJ[1208][HNOI2004]宠物收养所 Treap

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1208开两个平衡树,找前驱后继操作和正常的一样.. 用Treap是因为好写代码如下:#include<algorithm>#include<cstdlib>#include<ctype.h>#include<cstdio>#define INF 2147483647using nam

2017-12-19 13:43:46 296

原创 Duan2baka的AC自动机模板!

HDU[2222] Keywords Search题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222AC自动机常用于多模字符串匹配问题代码如下:#include<cstring>#include<ctype.h>#include<cstdio>#include<queue>#define N 1000050using namespace

2017-12-13 20:11:17 437

原创 Duan2baka的Splay模板!(区间翻转)

BZOJ[3223] Tyvj 1729 文艺平衡树 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3223Splay区间翻转代码如下:#include#include#includeusing namespace std;inline int read(){ int x=0,f=1;char c;

2017-12-13 19:54:09 365

原创 BZOJ[1588][HNOI2002]营业额统计 Treap

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1588裸的平衡树,找一个类似于前驱后继的东西,但可以是自己 链表代码见zP1nG的博客代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#define INF 1000000000using namespace std;

2017-12-12 15:46:57 439

原创 BZOJ[4399]魔法少女LJJ 线段树合并

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=4399c<=7!!c<=7!!c<=7!!每新建一个节点,就开一个权值线段树,在连接时将两个线段树合并即可,对于操作3,4,直接查找比k大/小的数有多少个,查找时顺便将范围内的点删除,再全放在k上即可 操作五像平衡树那样随便搞一搞就可以了.. 对于操作六,根据对数的运算性质log(a∗b)=

2017-12-12 15:16:35 548 2

原创 BZOJ[4756][Usaco2017 Jan]Promotion Counting 线段树合并

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=4756裸的线段树合并 对于每个点建一个权值线段树这里采用了动态开点,常数较大(线段树范围是1~MAXN),但是省略了离散化代码如下:#include<ctype.h>#include<cstdio>#define N 100050using namespace std;const in

2017-12-09 15:37:59 360

原创 Duan2baka的Treap模板!

BZOJ[3224] Tyvj 1728 普通平衡树题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3224Treap模板代码如下:#include<algorithm>#include<cstdlib>#include<ctype.h>#include<cstdio>#define INF 2147483647using name

2017-12-08 18:47:37 364

原创 BZOJ[2761][JLOI2011]不重复数字 STL

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2761傻逼题 就当练STL了代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#include<set>using namespace std;inline int read(){ int x=0,f=1;cha

2017-12-07 14:03:09 257

原创 BZOJ[1696][Usaco2007 Feb]Building A New Barn新牛舍 贪心

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1696分情况讨论: ①如果有奇数个牛,横纵坐标分别取中位数,如果该位置有牛就讨论上下左右(没有挨着的牛) ②如果有偶数个牛,设中位数分别为x1,x2,y1,y2,则在(x1~x2,y1~y2)中没牛的点都是合法的代码如下:#include<algorithm>#include<ctype.

2017-12-07 13:39:00 321

原创 BZOJ[2763][JLOI2011]飞行路线 spfa

题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2763DescriptionAlice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转

2017-12-07 13:29:27 263

空空如也

空空如也

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

TA关注的人

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