自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒟蒻的博客

当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌。

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

原创 总结

首先,我们学习了一些字符串算法,如KMP,AC自动机,fail树,Trie图,可持久化Trie,后缀数组,Manacher算法,后缀自动机(没学懂)。 然后,这几天我的字符串有了长足的进步,但是在暑期15天的学习中还要有更多刷题来解决。在此我粘贴一些模板方便以后复习: Manacher算法void Manacher(){ int mx=0,id; for(int i=1;i<=m

2017-07-29 19:23:25 317

原创 poj 1743 后缀数组+二分答案

#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define N 20005#define inf 0x3f3f3f3fusing namespace std;int n,m,p,w,i,a[N],tax[N],rank[N],tp[N],SA[N],height[N],k,j,num[N];

2017-07-29 11:05:46 382

原创 bzoj2434 阿狸的打字机NOI2011ac自动机+fail树+树状数组+dfs序详解

题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=2434 这道题我们用ac自动机的fail指针思想来做。 首先它要求查询一个x串在y串出现了多少次 我们可以很快想到如果从y的一个节点走fail走到了x尾节点那么x在y中出现过一次。 那么我们逆向思考: 从y反着走fail可以走到有多少个节点在y这个串上,那么x就在y中出现了多少次。

2017-07-28 21:23:18 512

原创 后缀数组练习题bzoj 1031 后缀数组模板题目

题目戳这里http://www.lydsy.com/JudgeOnline/problem.php?id=1031 这是一道显然的后缀数组模板题目。 这道题我们发现只要求出这几个循环的字符串排列就好了,那么我们显然想到把它扩展2倍,然后求一边rank和SA数组,这样我们得到了需要的前一半rank数组,把它离散一下就是这个循环圈的排列顺序了。 AC代码:#include<cstdio>#inc

2017-07-27 20:04:00 858

原创 bzoj 2733 splay+启发式合并

一道水题,我们用splay+启发式合并(其实就是一个比较暴力的方法,把siz小的splay树里的点一个一个塞到大的splay树中)最开始我想了半天怎么存root,后来发现我傻了,直接splay到根就好了。这份代码里德root数组其实是并查集数组,不要在意细节- -。下面是我AC代码:#include<cstdio>#include<cstring>#include<algorithm>#inc

2017-07-21 15:39:47 317

原创 数据结构总结

这几天学了很多知识,但感觉像是囫囵吞枣,走马观花。还有许多只是没有消化。首先是堆,这几天许了可并堆,只大略掌握了左偏堆的写法。 左偏堆比普通的堆多了一个dis键值,它要满足节点dis=右节点键值+1,左儿子节点dis >= 右儿子节点dis。然后它几个重要的操作有merge(合并),,,,,好像只有merge,还有就是insert和del吧但这些都是在merge的基础上。这是bzoj1455的代码

2017-07-19 21:42:50 270

原创 bzoj 3223 文艺平衡树 Splay详细解析

本文不会过于深入介绍splay的证明,感性认知- -。 对于树我们知道它有两个旋转,对于一个节点,如果它是左儿子,那么它只能右旋,如果它是右儿子,它只能左旋,在splay的时候,我们的目的是把一个节点x转到一个根上,我们考虑两种情况, 1在三点一线的时候(3个点没有弯曲)那么先旋转x的父亲,在旋转x,除此之外都直接旋转x就好了,这样是为了让树更平衡。(画个图感性认知一下0 0)splay大概流程

2017-07-14 20:51:30 1009

原创 近几天的总结

这几天学习了图论,稍微有点感触。 首先在知识层面已经学得差不多了,除了2sat和难度深一点的差分约束可能还有点玄乎,在之后几天的数据结构学习中,一定要下功夫钻研!!!。 有几个板块必须钻研下去,一个就是线段树包括乱七八糟的树套树,其次就是平衡树splay这些玩意,还有就是稍微学习一下LCT,替罪羊树,和虚树,不用钻研太深,但线段树一定是重中之重,并且要加深对树状数组的理解与应用。数据结构要学好,

2017-07-13 21:00:19 259

原创 hdu 5739 点双连通分量+乘法逆元超详细讲解

题目戳这里http://acm.hdu.edu.cn/showproblem.php?pid=5739 题意大致如下:题目大概说给一张无向点带有权无向图。定义连通图的权值为图中各点权的乘积,图的权值为其包含的各连通图的权值之和,设zi 为删掉i点后图的权值,求S=(1*z1 + 2*z2 + 3*z3 + …….. + n*zn); 这道题简直毒性,感觉打了一道大模拟,这道题的细节巨多,要十分注

2017-07-13 18:20:24 453

原创 bzoj 2730 点连通求割点

题目戳这里http://www.lydsy.com/JudgeOnline/problem.php?id=2730 题目大意,给一个无向图,在图中建设出口,任意删掉一个点,使得任意其他点,能到达一个出口,问至少要设多少个,且设的方案数有多少。 显然,我们需要求割点,对于任意一个点连通分量中,如果它包含1个割点,那么我们必须在分量中建设一个出口,且它不在割点,因为如果把割点删了,分量中的点就不能到

2017-07-12 20:25:52 475

原创 bzoj1123 求割点+乘法原理

题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=1123 1123: [POI2008]BLO Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通。 Input 输入n<=100000 m<=500000及m

2017-07-12 14:47:47 404

原创 图论知识总结第二弹之求桥

在第一弹中我们知道了如何求割点。 第一弹戳这里http://blog.csdn.net/Kamisama123/article/details/75007415 那么桥只是割点的特殊情况。因为一个性质是割点连出去的边必有一条是桥。对于一个点v它的low[v] > dfn[u]就可以保证只要断开边(u,v)这条边就能使原图不连通,在这里不能像割点有个等号的原因是,如果low[v]=dfn[u]就意

2017-07-12 12:08:17 1012

原创 图论知识总结第一弹之求割点

在无向图中,如果去掉一个点和它所连的边后,图的连通分量增加了,那么我们把这个点叫做割点。 割点有这几个性质: 一个割点属于多个点连通分量。 重要的是这两个:把图强行看成一棵树。 如果u为割点,当且仅当满足下面的1/2 1、如果u为树根,那么u必须有多于1棵子树 2、如果u不为树根,那么(u,v)为树枝边,当Low[v]>=DFN[u]时。也就是v不能连回u的祖先。 所以我们根据这两个性

2017-07-12 11:23:44 859

原创 UVA 11478 差分约束+二分+判断负环

题目戳这里:https://vjudge.net/problem/UVA-11478 题目大意:给定一个权值,边有权值,每次可以选择一个点v和一个整数d,把所有以v为终点的边的权值减少d,以v为起点的边的权值加d,最后让所有边权的最小值非负且最大,如果这个值大于10000输出Infinite,如果非正输出No Solution。 对于每个点有我们把它的总操作权值设为sum,那么对于一条边(a,b

2017-07-10 17:57:13 262

原创 poj 1201 差分约束系统大水题

题目大意如此: 现在有一个序列,我们用n个形如,ai,bi,ci的式子去描述它,表示序列中必须至少有大于等于ai并且小于等于bi的整数有ci个。要求输出序列长度最小为多少。 n的范围为50000,0 < a < b < 50000。 这个题我们一看就知道是差分约束(雾)。 我们令s[i]表示0到i的整数有多少个。 所以我们可以清楚地写出下列式子: s[b]-s[a-1]>=c s[i]

2017-07-10 15:37:56 298

原创 网络流题目

网络流题单最大流 POJ 1273 Drainage Ditches POJ 1274 The Perfect Stall (二分图匹配) POJ 1698 Alice’s Chance POJ 1459 Power Network POJ 2112 Optimal Milking (二分) POJ 2455 Secret Milking Machine (二分) POJ 3189 S

2017-07-07 19:21:12 501

原创 poj2391 二分+floyed+网络流Dinic(附数据网址)

《POJ 2391 Ombrophobic Bovines》 【题目大意】 给定一个无向图,点i处有Ai头牛,点i处的牛棚能容纳Bi头牛,求一个最短时间T使得在T时间内所有的牛都能进到某一牛棚里去。(1 <= N <= 200, 1 <= M <= 1500, 0 <= Ai <= 1000, 0 <= Bi <= 1000, 1 <= Dij <= 1,000,000,000) 题目戳这里:

2017-07-06 21:49:20 332

原创 bzoj1179 tarjan缩点+spfa

题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=1179这道题是一道大水题,直接tarjan缩点合并信息后,跑一边最大的spfa就可以A了。 详细代码:#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<queue>#def

2017-07-06 12:01:09 339

原创 bzoj2654 二分+最小生成树

题目戳这里:http://www.lydsy.com/JudgeOnline/problem.php?id=2654 我们知道对于一个最小生成树而言,它的白边权值越大,那么生成树中的白边个数越少,反之亦然。 所以我们每次二分一个值,给白边加上它,在做最小生成树判断是否大于所需要的,然后就可以二分来搞了。#include<cstdio>#include<algorithm>#include<c

2017-07-05 08:11:25 348

原创 动态规划总结

是时候总结一波动态规划了。 对于一般的dp题来说,一般都比较能想出是dp的方向。 但第一步并不好想。 对于我而言,dp较难的是设计状态和转移方程。 总结了一下: 动态转移方程很多都是考虑两种情况,是或者否。 例如:背包就考虑取或者不取。树上染色就考虑染或者不染,而比如NOIP2015子串就考虑那一位取或者不取,当然情况可能会分的更复杂。 一个好的转移方程很大程度上取决于状态设计的巧妙与

2017-07-01 21:03:29 277

转载 poj 1149网络流建模(转载自Edelweiss代码自己编的有点丑陋0 0)

转载自Edelweiss. 最大流 《POJ 1149 PIGS 》 【题目大意】 有 M 个猪圈,每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。依 次来了 N 个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪。每 个顾客分别都有他能够买的数量的上限。每个顾客走后,他打开的那些猪圈中的 猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上。问总共 最多能卖出

2017-07-01 11:33:07 293

原创 bzoj 1293单调队列(vector实现)

1293: [SCOI2009]生日礼物Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2365 Solved: 1281 [Submit][Status][Discuss] Description小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个,分为K种。简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置)。某

2017-07-01 08:47:23 305

空空如也

空空如也

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

TA关注的人

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