bzoj刷题记录
文章平均质量分 86
bzoj上面的一些题目的系列题解
scarlyw
如果世界真的不喜欢你,那世界就是我的敌人了。
展开
-
BZOJ3224 普通平衡树
3224: Tyvj 1728 普通平衡树Time Limit: 10 Sec Memory Limit:128 MBSubmit: 9784 Solved: 4165Description您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多原创 2017-01-04 18:32:05 · 266 阅读 · 0 评论 -
BZOJ1503 郁闷的出纳员
BZOJ 1503郁闷的出纳员解析:题目不难,算是Splay区间操作入门题,主要就是考虑每次减薪操作时, 直接将当前的薪水小于min限制的人员全部删掉即可,加薪的时候直接在root处打上tag然后在合适的时候进行pushdown即可,注意select单个node的时候,一定样pushdown(),不然会WA飞.Source:{CSDN原创 2017-01-04 18:44:07 · 381 阅读 · 0 评论 -
2017.10.6 BJOI2015 bzoj4336 骑士的旅行
树链剖分 + 树状数组 + 权值线段树 + 二分原创 2017-10-17 20:11:57 · 512 阅读 · 0 评论 -
2017.10.6 BJOI2015 bzoj4337 树的同构
树上hash原创 2017-10-17 20:32:19 · 296 阅读 · 0 评论 -
2017.10.6 BJOI2015 bzoj4338 糖果
组合数 + 暴力取模原创 2017-10-18 07:41:17 · 419 阅读 · 0 评论 -
bzoj1924 所驼门王的宝藏
tarjan缩点 + DAG最长路原创 2017-11-01 16:13:59 · 322 阅读 · 1 评论 -
bzoj2004 Bus公交路线
状压DP + 矩阵快速幂原创 2017-11-05 15:39:46 · 443 阅读 · 1 评论 -
bzoj3162 独钓寒江雪
树型DP + 哈希原创 2017-11-05 23:34:44 · 302 阅读 · 1 评论 -
bzoj3611 大工程
虚树 + 树型DP原创 2017-11-07 23:17:10 · 341 阅读 · 0 评论 -
bzoj1875 HH去散步
矩阵优化DP原创 2017-11-08 09:09:04 · 389 阅读 · 0 评论 -
BZOJ1588 营业额统计
BZOJ 1588营业额统计解析:题目不难,不过讲道理这完全用不上Splay, 听某STL大神说,可以轻松搞定, 但是因为今天是搞Splay,那我们还是乖乖打板吧, 就是单点修改,查询前驱后继即可。Source:#include#include#include#include#include#include#includeusing name原创 2017-01-04 18:59:25 · 339 阅读 · 0 评论 -
BZOJ3223 文艺平衡树
BZOJ 3223文艺平衡树解析:赤裸裸的区间翻转, 不写Splay还写啥, 可以当成标准的Splay区间翻转的板,直接训练敲板吧。Source:#include#include#include#include#include#include#includeusing namespace std;int cnt;inline vo原创 2017-01-04 19:04:01 · 246 阅读 · 0 评论 -
BZOJ3506 排序机械臂
BZOJ 3506排序机械臂解析:赤裸裸的区间翻转+1, 这一次还需要维护一个区间最小值,然后还要注意Splay的中序遍历是不会变的, 所以我们将结点x旋转到根后,它当前的rank就是在原序列中的编号,直接输出即可。Source:#include #include #include #include #include #include原创 2017-01-04 19:43:32 · 287 阅读 · 0 评论 -
BZOJ1507 Editor
BZOJ 1507 Editor解析:比较简单的区间操作, 但是因为操作很多所以比较不想写啊,最大的作用就是熟悉模板,熟悉,再熟悉。注意输出一个区间时,先select提取区间然后dfs获得中序遍历输出即可, 但是注意判定是否为空结点或者是边界。Source:#include#include#include#include#include#in原创 2017-01-04 20:02:07 · 253 阅读 · 0 评论 -
BZOJ1269 文本编辑器Editor
BZOJ 1269文本编辑器Editor解析:BZOJ1507加强版,首先是数据加强,然后是多了一个reverse,似乎没什么,但是这意味着你需要加上一系列的pushdown······千万不要把pushdown位置搞错,千万不要多打,千万不要少打,不要作死。Source:#include #include #include #include #原创 2017-01-04 20:07:20 · 274 阅读 · 0 评论 -
bzoj2565 最长双回文串
最长双回文串题目背景:BZOJ - 2565分析:据说用回文自动机很裸,据说回文自动机做这个题很简单,宝宝这种蒟蒻不会,还是就manacher吧,记录下信息即可,详见代码注释。Source:#include #include #include #include using namespace std;const int N = 1e6 + 5;原创 2017-01-31 14:43:57 · 298 阅读 · 0 评论 -
bzoj3997 组合数学
组合数学题目背景:bzoj3997分析:首先注意,我们可以把原题抽象成为一张DAG,然后每个格子可以走到相邻的下方或者右方的格子,但是当前格子中的每一个点互不联通,然后,我们就可以发现原题就是求取一个DAG的最小链覆盖,然后根据Dilworth定理(我也不知道这是什么,太蒟蒻······):DAG的最小链覆盖 = 最大独立点集然后根据每个格子与右原创 2017-03-06 16:45:14 · 422 阅读 · 0 评论 -
bzoj1305 跳舞
跳舞题目背景:bzoj1305分析: 我们考虑这道题,我想应该还是能够比较容易的发现这是一道网络流,不论是题面推理,还是从数据范围来看,但是要是真的有这么的简单,那就显得不太正常了······我们考虑这么一个问题,我们可以考虑如果当前最多能跳a首曲子,那么我们可以向每一个点连一条容量为a的边,然后为了方便的处理,我们1)将每一个人拆成两个点,男孩的两个点为X1,原创 2017-03-06 17:41:02 · 525 阅读 · 0 评论 -
bzoj4571 美味
美味题目背景:bzoj4571分析: 首先,明确一个异或的套路,高位贪心,然后我们就可以发现,想要每一次求出最大值,就是针对给出的bi进行高位贪心,现在我们来一步步解决此题,从简化版开始考虑。1、 有每一道菜的美味值ai,并且没有l,r的限制,也没有偏爱值xi方法:因为需要满足高位贪心,那么,我们只需要将每一个ai计入一个trie树中,然后将每一个b原创 2017-03-06 18:13:33 · 439 阅读 · 0 评论 -
bzoj4502 串
串题目背景:bzoj4502分析:20% 解法:暴力枚举前缀,然后两两枚举形成新串,然后有hash判重(用set的宝宝,爆成了5分·····)50% 解法:将集合中的所有的字符串构建成一个AC自动机,然后,注意到每个字符串在AC自动机上的匹配路径应该是唯一的,那么我们可以考虑dp,f[i][j][k]表示当前长度为i的字符串,匹配到j状态,第原创 2017-03-06 19:08:23 · 945 阅读 · 0 评论 -
bzoj4503 两个串
两个串题目背景:bzoj4503分析:我相信各路大牛在看到这道题的时候一定会不屑的表示这个不是套路题吗····的确这真心就是一个简单的套路,快速傅立叶变换(FFT),我们选择将T进行翻转,然后令c[j + m – 1] = sigma((a[j + i] – b[m – 1 – i]) ^ 2* a[j + i] * b[m – 1 – i]) (0原创 2017-03-06 19:46:21 · 719 阅读 · 0 评论 -
bzoj4504 K个串
K个串题目背景:bzoj4503分析:首先考虑如果没有负数,那么我们就可以直接从段的长度从大到小枚举就可以了,然而,这显然不能A题,我们考虑对于每一个位置i,我们维护以它为右端点的每一个子串的和,并且令maxp[i]为当前的这一部分的子串和的最大值,显然,全局的最大值,就是所有maxp[i]的最大值,然后我们用当前最大值所在的i的以其为右端点的子串中的次大值来重新更原创 2017-03-06 20:26:24 · 539 阅读 · 0 评论 -
bzoj2588 Count on a tree
Count on a tree题目背景:bzoj2588分析:这道题其实是一个不太难的数据结构题,用心想其实很容易发现只要在树上维护一个主席树就可以了,比较好想的就是直接在每一个每一个节点上,维护他到根的所有节点的权值,然后每一次查询的时候,直接像查询第k大数那样就可以了,每次传4个根进去就好了,u,v,和lca以及lca的父亲然后每一次加上u,v的sum,减去lca以及l原创 2017-03-22 11:42:32 · 319 阅读 · 0 评论 -
bzoj1014 火星人prefix
火星人prefix题目背景:bzoj1014分析:我有一句XXX不知道当不当讲,但是真的太恶心了!!!这道题本来的做法是对于每一个节点,维护以它为根的子树的字符串的hash值就可以了,我是用无旋treap来实现的,然后每一次合并和分割的时候,就可以直接update像上维护即可,但是当时开始的时候我的代码不断地T飞,然后我尝试优化了很多波的常数,最后发现并没有什么卵用原创 2017-03-22 11:50:33 · 326 阅读 · 0 评论 -
bzoj1925 地精部落
DP原创 2017-08-18 10:09:26 · 374 阅读 · 0 评论 -
bzoj1857 传送带
三分套三分原创 2017-09-20 08:51:56 · 386 阅读 · 0 评论 -
bzoj1085 骑士精神
迭代加深搜索原创 2017-09-20 09:06:23 · 427 阅读 · 0 评论 -
bzoj1370 团伙
并查集原创 2017-09-20 09:29:38 · 393 阅读 · 0 评论 -
bzoj2095 Bridges
二分 + 混合图欧拉回路(网络流)原创 2017-09-20 09:54:50 · 380 阅读 · 2 评论 -
bzoj2330 糖果
差分约束系统原创 2017-09-20 10:39:24 · 450 阅读 · 0 评论 -
bzoj4205 卡牌配对
最大流原创 2017-09-20 14:50:28 · 236 阅读 · 0 评论 -
bzoj2199 奶牛议会
2-SAT原创 2017-09-20 15:01:50 · 232 阅读 · 0 评论 -
bzoj1049 数字序列
DP(lis) + 黑科技原创 2017-10-18 14:09:52 · 483 阅读 · 0 评论 -
bzoj2216 Lightning Conductor
决策单调性DP原创 2017-10-18 16:56:11 · 240 阅读 · 0 评论 -
NOIP模拟(10.20)T2 矩阵(bzoj1084 最大子矩阵)
DP原创 2017-10-20 19:10:02 · 309 阅读 · 0 评论 -
bzoj2734 集合选数
构造 + 状压DP原创 2017-10-21 09:31:57 · 291 阅读 · 0 评论 -
bzoj3791 作业
DP(染色)原创 2017-10-21 10:06:40 · 286 阅读 · 0 评论 -
bzoj2427 软件安装
tarjan缩点 + 树型DP原创 2017-10-21 14:22:42 · 249 阅读 · 0 评论 -
bzoj1226 学校食堂
状压DP原创 2017-10-21 16:12:21 · 305 阅读 · 0 评论 -
bzoj1487 无归岛
树型DP or 仙人掌DP原创 2017-10-24 20:31:54 · 366 阅读 · 1 评论