各省省选
Duan2baka
人
展开
-
BZOJ[1195][HNOI2006]最短母串 AC自动机+状态压缩
传送门ber~AC自动机多记录一个state" role="presentation" style="position: relative;">statestatestate表示这个点代表的状态 把所有串插进AC自动机里,串i" role="presentation" style="position: relative;">iii的末尾的state" role="presentation"原创 2018-01-24 14:43:53 · 761 阅读 · 3 评论 -
BZOJ[4034][HAOI2015]树上操作 树链剖分+线段树
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=4034 Description有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权原创 2017-08-28 21:21:16 · 501 阅读 · 0 评论 -
BZOJ[4602] [Sdoi2016]齿轮 加权并查集
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=4602 Description现有一个传动系统,包含了N个组合齿轮和M个链条。每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x:y。即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈。传动比为正表示若编号为u的齿轮顺时针转动,则编号为v的齿轮也顺时针转动。传动比原创 2017-08-20 23:14:39 · 477 阅读 · 0 评论 -
BZOJ[1051][HAOI2006]受欢迎的牛 Tarjan缩点
题目链接www.lydsy.com/JudgeOnline/problem.php?id=1051Description 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头 牛被所有的牛认为是受欢迎的。 Input 第一行两个数原创 2017-08-17 09:45:51 · 355 阅读 · 0 评论 -
BZOJ[1925]Sdoi[Sdoi2010]洛谷[P2467]地精部落 DP,滚动数组
BZOJ地址http://www.lydsy.com/JudgeOnline/problem.php?id=1925洛谷地址http://www.luogu.org/problem/show?pid=2467题目描述传说很久以前,大地上居住着一种神秘的生物:地精。 地精喜欢住在连绵不绝的山脉中。具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无原创 2016-09-02 20:52:40 · 581 阅读 · 0 评论 -
BZOJ[1018][SHOI2008]堵塞的交通traffic 线段树
传送门ber~哇这个线段树好神啊!!用线段树维护图连通性,每个节点开个二维数组ai,jai,ja_{i,j}表示这个区间最左面的第iii行能不能走到最右面的第jjj行,同时记录一下最左最右第一行与第二行是否都能互相走到 这六个东西可以用线段树维护啊(看代码)!细节有点多…具体看代码吧… 注释说的很清楚(自信)代码如下:#include<algorithm>#i...原创 2018-02-09 15:02:45 · 435 阅读 · 0 评论 -
BZOJ[3531][Sdoi2014]旅行 树链剖分+动态开点线段树
传送门ber~对每种信仰建一个线段树 显然这是MLE的 动态开点就好了!代码如下:#include#include#include#define N 100020using namespace std;inline int read(){ int x=0,f=1;char c; do c=getchar(),f=c=='-'?-1:f; while(!is原创 2018-02-05 14:22:34 · 431 阅读 · 0 评论 -
BZOJ[1922][Sdoi2010]大陆争霸 Dijkstra堆优化
传送门ber~没有结界限制的话,就是个普通的最短路 有结界的限制,可以搞一个fff数组表示把保护iii的结界全炸了最少需要多长时间 更新disdisdis的时候就从disdisdis和fff取maxmaxmax就可以了(个人理解就是按照限制进行拓扑更新)代码如下:#include<algorithm>#include<ctype.h>#include&l...原创 2018-02-10 14:52:08 · 278 阅读 · 0 评论 -
BZOJ[3172][Tjoi2013]单词 Fail树
传送门ber~先将所有的串建一个AC自动机,构建的Fail时候到一个点就将它所有的Fail都加上1 emmmm…TLE….这时就要用到Fail树 将所有Fail指针反向,就可以弄出一个树一样的东西,可以发现,一个点一定是它子树点的后缀(如果串s能匹配到这里,s就会是子树所有点的后缀)弱鸡说不明白了还是看这个吧QAQ “这道题想找出每一个串在所有的串中匹配的次数,这时就可以利用fa原创 2018-02-06 09:26:58 · 306 阅读 · 0 评论 -
BZOJ[1013][JSOI2008]球形空间产生器sphere 高斯消元
传送门ber~公式原题下面都给了….用题目给的公式能列出n+1" role="presentation" style="position: relative;">n+1n+1n+1个式子(假设n=2" role="presentation" style="position: relative;">n=2n=2n=2) r2=(xi−x)2+(yi−y)2" r原创 2018-02-06 08:34:54 · 281 阅读 · 0 评论 -
BZOJ[3527][Zjoi2014]力 FFT
传送门ber~这题有毒好几次把i,ji,ji,j弄反题目就是让求一个Ej=∑i=1j−1qi(i−j)2−∑i=j+1nqi(i−j)2Ej=∑i=1j−1qi(i−j)2−∑i=j+1nqi(i−j)2E_j=\sum_{i=1}^{j-1} \frac{q_i}{(i-j)^2}-\sum_{i=j+1}^{n} \frac{q_i}{(i-j)^2} 令f(i)=1i2f(i)=1...原创 2018-03-07 23:22:10 · 271 阅读 · 0 评论 -
BZOJ[4332]JSOI2012 分零食 分治FFT
传送门ber~可以先令gi,jgi,jg_{i,j}表示iii个人里分jjj个弹果的欢乐度,h(i)h(i)h(i)表示给一个小朋友iii个糖果的欢乐度则有gi,j=∑k=1j−1gi−1,j−k∗h(k)gi,j=∑k=1j−1gi−1,j−k∗h(k)g_{i,j}=\sum \limits _{k=1}^{j-1} g_{i-1,j-k}*h(k)发现是个卷积的形式,则gi=gi...原创 2018-03-07 16:36:21 · 457 阅读 · 0 评论 -
BZOJ[3992][SDOI2015]序列统计 生成函数+NTT
传送门ber~首先了解一下指标 看我瞎bb也可以 因为原根ggg满足gi,gj(i,j∈(1,MOD−1),i≠j)gi,gj(i,j∈(1,MOD−1),i≠j)g^i,g^j(i,j\in (1,MOD-1),i\neq j)互不相同 则可以给每个数iii定义一个指标indiindiind_i表示模意义下的loggiloggi\log_g i,并且在区间[1,φ(MOD)][1,φ...原创 2018-03-08 09:11:00 · 237 阅读 · 0 评论 -
BZOJ[3238][Ahoi2013]差异 后缀数组+单调栈
传送门ber~ 题目大意:求∑1≤i<j≤nlen(Suffixi)+len(Suffixj)−2∗LCP(Suffixi,Suffixj)∑1≤i<j≤nlen(Suffixi)+len(Suffixj)−2∗LCP(Suffixi,Suffixj)\sum_{1\le ilen(Suffixi)+len(Suffixj)len(Suffixi)+len(Suffixj)le...原创 2018-03-24 11:05:25 · 314 阅读 · 0 评论 -
BZOJ[4516][Sdoi2016]生成魔咒 后缀数组+ST表+线段树
传送门ber~首先感谢Sinogi大佬的耐心讲解及代码题意就是每次加一个字符,统计本质不同的子串数量 正向添加字符不好做,考虑反着删字符 在正常情况下,删掉位置iii的一个字符会减少iii个子串(∑j<=ij=1sj...i∑j=1j<=isj...i\sum _{j=1}^{j∑j<=kj=1prej∑j=1j<=kprej\sum_{j=1}^{jprepr...原创 2018-03-25 22:52:43 · 414 阅读 · 0 评论 -
BZOJ[1567][JSOI2008]Blue Mary的战役地图 二分+Hash
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1567DescriptionBlue Mary最近迷上了玩Starcraft(星际争霸) 的RPG游戏。她正在设法寻找更多的战役地图以进一步提高自己的水平。 由于Blue Mary的技术已经达到了一定的高度,因此,对于用同一种打法能够通过的战役地图,她只需要玩一张,她就能了解这一类战役的打法,然原创 2017-09-08 20:16:44 · 428 阅读 · 0 评论 -
BZOJ[1196][HNOI2006]公路修建问题 二分+并查集
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1196DescriptionOI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多。然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕。所以,OIER Association组织成立了,旨在建立OI island的交通系统。 OI island有n个旅游景点,不妨将它们原创 2017-09-13 19:42:43 · 366 阅读 · 0 评论 -
BZOJ[3626][LNOI2014]LCA 树链剖分+线段树
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=3626Description给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求∑i≤ri=ldepLCA(i,z)\sum_{i原创 2017-09-19 21:59:01 · 673 阅读 · 0 评论 -
BZOJ[1086][SCOI2005]王室联邦 块状树
传送门ber~块状数据结构 秒杀一切题目!秒杀一切题目!代码如下:#include#include#define N 1050using namespace std;inline int read(){ int x=0,f=1;char c; do c=getchar(),f=c=='-'?-1:f; while(!isdigit(c)); do x=(原创 2018-01-14 17:16:11 · 373 阅读 · 2 评论 -
BZOJ[2428][HAOI2006]均分数据 模拟退火
传送门ber~模拟退火骗分每次随机一个点,然后把它随机放入另外一个集合里,如果解更优就更新,如果不是更优,则根据当前温度随机判断是否更新,温度越高更新的几率越高,并不断降温,直到小于精度为止多做几遍即可代码如下:#include#include#include#include#include#define eps 1e-4#define INF 2147483647原创 2018-01-12 16:04:41 · 330 阅读 · 0 评论 -
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 · 446 阅读 · 0 评论 -
BZOJ[2733][HNOI2012]永无乡 线段树合并+并查集
题目链接 题目大意:给你n个点,每个点有权值k,现有两种操作:将两个点所在联通块合并,查询某个点所在联通块权值第k小是哪个数Splay启发式合并解法在这里这题输出的是点的编号不是点的值…. 对于每个点,开个权值线段树,合并操作用并查集查找,线段树合并 查询操作是权值线段树基本操作,找第kk小的数时,如果左儿子的数超过k个就在左儿子里,否则去右儿子找第k−ls−>sizk-ls->siz的数原创 2017-12-29 14:43:39 · 439 阅读 · 0 评论 -
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 · 279 阅读 · 0 评论 -
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 · 338 阅读 · 0 评论 -
BZOJ[4327]JSOI2012 玄武密码 AC自动机
题目链接将每个字串插入AC自动机中,用主串上去匹配,每个走过的点x都是主串的一个前缀因为一个点的Fail一定是它的后缀,这样沿着x的Fail一直向上爬就可以标记出每一个出现的子串(前缀的后缀,就是原串的一个字串),遇见标记过的就停止,这样保证每个点只被走一次插入子串时,记录每个子串的结束位置,统计时沿着每个字串的结束点一直向上爬,找到第一个被标记的点就是最长的前缀 注意这里的向上爬的意思是向上爬树原创 2017-12-27 15:00:45 · 538 阅读 · 0 评论 -
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 · 312 阅读 · 0 评论 -
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 · 307 阅读 · 0 评论 -
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 · 460 阅读 · 0 评论 -
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 · 269 阅读 · 0 评论 -
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 · 274 阅读 · 0 评论 -
BZOJ[1854][Scoi2010]游戏 匈牙利算法
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1854Descriptionlxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极b原创 2017-09-22 20:16:59 · 294 阅读 · 0 评论 -
BZOJ[1191][HNOI2006]超级英雄Hero 匈牙利算法
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1191Description现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给原创 2017-09-22 19:53:21 · 423 阅读 · 0 评论 -
BZOJ[1264][AHOI2006]基因匹配Match dp
传送门ber~这个做法真的太妙了原创 2018-06-12 20:26:27 · 285 阅读 · 0 评论