![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bzoj
文章平均质量分 77
chty_syq
HA省的OIer
展开
-
【bzoj3172】单词 AC自动机
3172: [Tjoi2013]单词Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 3034 Solved: 1447[Submit][Status][Discuss]Description某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。Input第一个一个整数原创 2016-11-21 13:06:04 · 334 阅读 · 0 评论 -
【bzoj1180】OTOCI LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1180【吐槽】马上就要回宿舍了,于是蒟蒻在此水一道模板题。#include#include#include#include#include#include#includeusing namespace std;#define FILE "read"#define原创 2017-02-16 21:49:34 · 239 阅读 · 0 评论 -
【bzoj2157】旅游 LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2157【题解】很模板的题目。首先还是把边建成点(这是一种套路),然后上LCT维护就行了。这题还有一个启示:在打标记时要直接下传一次,否则会出现查询时还没有下传标记的情况。#include#include#include#include#include#inclu原创 2017-02-17 17:26:12 · 353 阅读 · 0 评论 -
【bzoj3282】Tree LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3282【题解】模板题,xor什么的跟求和是一样的。#include#include#include#include#include#include#includeusing namespace std;#define FILE "read"#define MAX原创 2017-02-17 19:09:33 · 230 阅读 · 0 评论 -
【bzoj2152】聪聪可可 点分治
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2152【题解】还是点分治的板子。统计答案的方法值得一学:用t数组记录连通块中所有点的距离对3取模后的结果,然后当前的答案就是t[0]*t[0]+t[1]*t[2]*2,为什么要乘2呢?——因为同一个点对(u,v)聪聪选u可可选v与聪聪选v可可选u是不一样的。#include原创 2017-02-18 08:05:33 · 269 阅读 · 0 评论 -
【bzoj2599】Race 点分治
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2599【题解】直接调用黄学长的题解:开一个100W的数组t,t[i]表示权值为i的路径最少边数找到重心分成若干子树后, 得出一棵子树的所有点到根的权值和x,到根a条边,用t[k-x]+a更新答案,全部查询完后然后再用所有a更新t[x]这样可以保证不原创 2017-02-18 09:01:15 · 379 阅读 · 0 评论 -
【bzoj3697】采药人的路径 点分治
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3697【题解】来自出题人hta的题解:本题可以考虑树的点分治。问题就变成求过根满足条件的路径数。路径上的休息站一定是在起点到根的路径上,或者根到终点的路径上。如何判断一条从根出发的路径是否包含休息站?只要在dfs中记录下这条路径的和x,同时用个标志数组判断这条路径是否存在原创 2017-02-18 11:12:13 · 350 阅读 · 0 评论 -
【bzoj2084】Antisymmetry manacher
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2084【题解】我们要求反对称的子串个数,只需要定义'#'='#','0'='1','0'≠'1','1'≠'0',然后求回文子串个数即可。直接上manacher,时间复杂度O(n)#include#include#include#include#include#in原创 2017-02-19 20:19:33 · 308 阅读 · 0 评论 -
【bzoj3514】GERALD07加强版 LCT+主席树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3514【题解】来自wulala大神的题解:葱娘说这是一个很巧妙的题。。有一个比较猎奇的做法:首先把边依次加到图中,若当前这条边与图中的边形成了环,那么把这个环中最早加进来的边弹出去并将每条边把哪条边弹了出去记录下来:ntr[i] = j,特别地,要是没有弹出边,ntr[i原创 2017-02-20 19:21:13 · 343 阅读 · 0 评论 -
【bzoj1146】网络管理 主席树+树状数组+树链剖分
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1146【题解】这题真神,蒟蒻只好参考cydiater大神的代码,然后调了整整一下午和一晚上。做法是这样的:先把树剖掉,按时间戳建立主席树,这里有一个技巧,在[n+1,n+n]区间上建主席树,而不是直接按树状数组的初始值来建,可节省nlogn的空间。修改操作很简单,在查询时先求原创 2017-02-16 20:30:46 · 564 阅读 · 0 评论 -
【bzoj2809】dispatching 主席树+dfs序
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2809【题解】对于题上给的树,我们在它的dfs序上瞎搞。我们按照dfs序建主席树,主席树中以花费的离散值为权,并维护总花费。然后查询答案的时候,枚举每个点为管理者的情况,计算答案。这样问题就转化为了在子树内找到最多的点,使得这些点的花费小于m,用主席树就能完美解决这个问题原创 2017-02-16 10:24:54 · 450 阅读 · 0 评论 -
【bzoj2938】病毒 AC自动机
2938: [Poi2000]病毒Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 579 Solved: 304[Submit][Status][Discuss]Description二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出原创 2016-11-21 13:06:02 · 295 阅读 · 0 评论 -
【bzoj3670】动物园 kmp
3670: [Noi2014]动物园Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 2080 Solved: 1107[Submit][Status][Discuss]Description近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定原创 2016-11-21 13:05:57 · 311 阅读 · 0 评论 -
【bzoj1601】灌水 最小生成树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1601【题解】今天去bzoj上刷水题,于是就碰到了这道题。。。直接上kruskal/************* bzoj 1601 by chty 2016.12.16*************/#include#include#include#includ原创 2016-12-16 17:00:24 · 394 阅读 · 0 评论 -
【bzoj3224】普通平衡树 平衡树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3224借此题来练习平衡树的模板。(以下数据均为bzoj亲测数据)【Treap】Memory:3762kbTime:248ms #include#include#include#include#include#include#includeusing nam原创 2016-12-23 13:28:49 · 448 阅读 · 0 评论 -
【bzoj2844】albus就是要第一个出场 高斯消元+线性基
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2844【题解】用高斯消元求出线性基。然后这题要求不去重。。。注意到如果求出来的矩阵有k个0,那么重复次数就是2^k,然后瞎搞就行了。/************* bzoj 2844 by chty 2016.12.18*************/#incl原创 2016-12-18 21:13:34 · 269 阅读 · 0 评论 -
【bzoj1251】序列终结者 splay
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1251【题解】splay的练习题目。切掉模板之后应该没有问题了。注意mx[0]=-INF/************* bzoj 1251 by chty 2016.12.26*************/#include#include#include原创 2016-12-27 11:28:10 · 302 阅读 · 0 评论 -
【bzoj3894】文理分科 最小割
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3894【题解】一个人要么选文,要么选理,所以这个问题就是把所有的点分为2个点集,建图很容易但是还有额外的满意值,如何处理呢?我们可以创造一个点表示文科的额外值,从源点向此点连一条容量为满意值的边,然后从此点向与之相邻的4个点和自身连一条容量为+oo的边理科的处理也是一样的原创 2017-01-16 18:44:58 · 324 阅读 · 0 评论 -
【bzoj2588】Count on a tree 主席树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2588【题解】我们用主席树维护每一个结点到根的路径(按dfs序建主席树即可),然后有一个优美的性质:x到y的路径可以表示为T(x)+T(y)-T(t)-T(f[t]),其中t为lca(x,y)这样在回答询问时处理这4个版本的线段树就行了。经此题实测:手写hash离散比st原创 2017-02-16 11:38:45 · 259 阅读 · 0 评论 -
【bzoj1697】牛排序 置换群
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1697【题解】将所给值离散之后,就是一个置换群问题。初始状态为离散值,目标状态为1~n,交换这一行为映射了置换,我们把这一置换循环分解而得到一个置换群。对于群内的每个环,有一个很贪心的办法就是每次都让权值最小的那个元素去和其他的元素交换,这样交换的代价为sum-min+(原创 2017-02-11 23:00:14 · 534 阅读 · 0 评论 -
【bzoj1119】SLO 置换群
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1119【题解】这题和牛排序那道题是一样的,而且不用离散化。#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;#defi原创 2017-02-12 16:03:05 · 258 阅读 · 0 评论 -
【bzoj1004】Cards 置换群+动态规划+乘法逆元
1004: [HNOI2008]CardsTime Limit: 10 Sec Memory Limit: 162 MBSubmit: 2928 Solved: 1754[Submit][Status][Discuss]Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快原创 2016-11-21 13:03:52 · 758 阅读 · 0 评论 -
【bzoj1036】树的统计 树链剖分/LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1036【题解】看到题目,发现是树剖一眼题,所以就秒掉了。#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;#defin原创 2017-02-14 20:21:08 · 415 阅读 · 1 评论 -
【bzoj2683】简单题 CDQ分治+树状数组
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2683【题解】话说这题好像可以用整体二分来做(蒟蒻不会啊),CDCQ大神的整体二分比我的CDQ分治高到不知道哪里去了。说一下做法吧:首先把询问的矩形分成4部分,算一下每部分的答案,然后容斥原理即可。怎样算每部分的答案呢?我们按照时间分治,CDQ递归过程中按x排序,遇到原创 2017-02-23 11:55:44 · 384 阅读 · 0 评论 -
【bzoj3669】魔法森林 LCT+并查集
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3669【题解】据说spfa可以说过。。。。。。LCT做法:将边权按其中一个值排序,往里面加边,用并查集维护图的连通性,当1与n联通时更新答案。用LCT维护图中的另一边权的最大值,如果边的两端不连通直接加入,否则说明构成了环,删去环上最大的边。小技巧:边可以建成点,向边的两原创 2017-02-14 21:41:43 · 337 阅读 · 0 评论 -
【bzoj1500】维修数列 splay
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1500【题解】这是一道很恶心的题,虽然差不多是splay的板子。我们用mx[x]表示以x为根的子树内最大子串和,lx[x]表示以x为根的子树中以左端点为起点向右延伸的最大子串和,rx[x]表示从右端点向左延伸的最大子串和。维护rx和lx的过程中要注意单个结点的情况:如果v[x原创 2017-02-15 09:18:30 · 313 阅读 · 0 评论 -
【bzoj2631】tree LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2631【题解】参考黄学长的代码,学到了同时传递加法和乘法标记的方法。注意如果在传递乘法标记的同时传递了加法标记,那么加法标记也要乘上这个数。#include#include#include#include#include#include#includeusing原创 2017-02-15 14:01:56 · 231 阅读 · 0 评论 -
【bzoj3295】动态逆序对 CDQ分治
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3295【题解】这题很神。我用的是popoqqq大爷的做法。具体见http://blog.csdn.net/popoqqq/article/details/38761287感觉这种做法似乎应该称为整体二分?#include#include#include#incl原创 2017-02-23 21:32:52 · 523 阅读 · 0 评论 -
【bzoj2243】染色 树链剖分+线段树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2243【题解】神坑题目,今天一天都在调这道题了。首先asksum函数中忘记判断区间合并时出现相同颜色的情况,导致wa不断。然后要到了数据,查出了这个错误。然而忘记了deep[1]=1,导致在求lca的过程中访问到0号结点,然后又开始RE然后我的一整天都在二分出错位置了原创 2017-02-15 16:48:48 · 259 阅读 · 1 评论 -
【bzoj3524】Couriers 主席树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3524【题解】用主席树直接查找就行了,如果左子树sum[son[x][0]]-sum[son[last][0]]就去左子树找,右子树同理,如果都没有,那就返回0.#include#include#include#include#include#include#incl原创 2017-02-15 17:07:23 · 282 阅读 · 0 评论 -
【bzoj3238】差异 后缀自动机
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3238【题解】题上所给公式可以化为\sum_{1其中:\sum_{1=1×(n-1)+2×(n-2)+3×(n-3)+……+(n-1)×1+2×1+3×2+……+n×(n-1)=(n+1)+2×(n+1)+3×(n+1)+……+(n-1)(n+1)=(1+2+原创 2017-02-23 07:33:16 · 444 阅读 · 0 评论 -
【bzoj4566】找相同字符 后缀自动机
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=4566【题解】我们还是先把A串建成SAM,然后让B串在SAM上跑因为相同子串数=不同长度的子串数*出现次数所以每个结点对答案的贡献就是Right[x]*(len-Min(x)+1)我们知道SAM的一个性质:Min(x)-1=Max(parent(x))所以贡献就是Ri原创 2017-02-22 20:33:29 · 389 阅读 · 0 评论 -
【bzoj1998】Fsk物品调度 置换群+并查集
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1998【题解】首先我们来看如何求出posipos[i]=c[i]+d*x[i]+y[i]。 要求y[i]最小,若y[i]相同,则要求x[i]最小。上式中d的取值不同,所得pos[i]的值构成了一个环,如果环还有位置没有被取,我们选取其中x[i]最小的。如果没有位置可取原创 2017-02-12 20:28:13 · 452 阅读 · 0 评论 -
【bzoj4033】树上染色 树形dp
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=4033【题解】用f[i][j]表示以i为根的子树中染了j个黑点的最大收益。则f[x][j]=max{f[x][j-k]+f[y][k]+temp}其中temp是该父子边的贡献#include#include#include#include#include#inc原创 2017-02-13 10:46:55 · 382 阅读 · 0 评论 -
【bzoj4034】树上操作 树链剖分+线段树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=4034【题解】用树剖来做的话,做法很显然,比模板题还简单。不过,据说可以用dfs序搞一搞。#include#include#include#include#include#include#includeusing namespace std;typedef l原创 2017-02-13 10:50:57 · 304 阅读 · 0 评论 -
【bzoj1103】大都市meg 树链剖分+线段树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1103【题解】直接上树剖就好了,然而我的树剖本地测试5.2s,交到bzoj上却超时了,可能是蒟蒻自带大常数吧。#include#include#include#include#include#include#includeusing namespace std;t原创 2017-02-13 15:03:12 · 312 阅读 · 0 评论 -
【bzoj2049】Cave洞穴勘测 LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2049【吐槽】模板题,用来练习LCT。今天晚上啃了一下LCT,感谢柳志轩大神,我已经完全理解了LCT一些细节的说明在代码中有注释#include#include#include#include#include#include#includeusing nam原创 2017-02-13 21:48:37 · 282 阅读 · 0 评论 -
【bzoj2555】SubString 后缀自动机+LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2555【题解】我们把模板串建成SAM,那么一个串的出现次数就是在对应状态上的Right集的大小。那么我们如何在线维护Right集的大小呢?可以用LCT/平衡树+dfs序反正我用的是LCT,毕竟好写。我们用LCT维护parent树,对于新加入的点,连一条通向parent的边原创 2017-02-22 16:09:32 · 424 阅读 · 0 评论 -
【bzoj1224】彩票 dfs
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1224【题解】裸的爆搜相信大家都会,这里我们主要来谈一谈剪枝。此题使用上下界剪枝:对于当前状态,如果后面的数都选最大的仍不能到达目标状态,则当前状态为不合法状态,直接return,此为上界剪枝,下界剪枝同理。最后膜一发popoqqq大爷,参考他的代码,我省略掉了一个for循环原创 2017-02-22 16:17:35 · 451 阅读 · 0 评论 -
【bzoj2002】弹飞绵羊 LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2002【题解】LCT的模板题。从点i向i+ki连边,构成一颗树,询问等价于求x结点的深度,修改就是删去原边,加入新边。这些都是LCT的基本操作。#include#include#include#include#include#include#includeu原创 2017-02-14 13:52:08 · 331 阅读 · 0 评论