摘要:
【BZOJ3625/CF438E】小朋友和二叉树(多项式求逆,多项式开方) 题面 "BZOJ" "CodeForces" 大致题意: 对于每个数出现的次数对应的多项式$A(x)$ 求$$f(x)=\frac{2}{\sqrt{ 4A(x)+1}+1}$$ 题解 多项式开方+多项式求逆模板题 我之前写 阅读全文
摘要:
【BZOJ4817】树点涂色(LCT,线段树,树链剖分) 题面 "BZOJ" Description Bob有一棵n个点的有根树,其中1号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种 阅读全文
摘要:
【BZOJ4456】旅行者(最短路,分治) 题面 "BZOJ" Description 小Y来到了一个新的城市旅行。她发现了这个城市的布局是网格状的,也就是有n条从东到西的道路和m条从南到北 的道路,这些道路两两相交形成n×m个路口 (i,j)(1≤i≤n,1≤j≤m)。她发现不同的道路路况不同,所 阅读全文
摘要:
CF954F Runner's Problem(动态规划,矩阵快速幂) 题面 "CodeForces" 翻译: 有一个$3\times M$的田野 一开始你在$(1,2)$位置 如果你在$(i,j)$位置 在不出界的前提下,可以走到$(i+1,j),(i+1,j±1)$ 有$n$段障碍,障碍不能走 阅读全文
摘要:
【BZOJ4300】绝世好题(动态规划) 题面 "BZOJ" Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi 1!=0(2 include include include include include include include include 阅读全文
摘要:
【NOI2006】聪明的导游 题面 "洛谷" 题目描述 小佳最近迷上了导游这个工作,一天到晚想着带游客参观各处的景点。正好 M 市在举行 NOI,来参观的人特别的多。不少朋友给小佳介绍了需要导游的人。 M 市有nnn 个著名的景点,小佳将这些景点从111 至nnn 编号。有一些景点之间存在双向的路。 阅读全文
摘要:
【BZOJ4568】幸运数字(线性基,树链剖分,ST表) 题面 "BZOJ" Description A 国共有 n 座城市,这些城市由 n 1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个 幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 阅读全文
摘要:
【BZOJ2115】Xor(线性基) 题面 "BZOJ" Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。 阅读全文
摘要:
线性基(【洛谷3812】) 题面 题目描述 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。 输入输出格式 输入格式: 第一行一个数n,表示元素个数 接下来一行n个数 输出格式: 仅一行,表示答案。 输入输出样例 输入样例 1: 2 1 1 输出样例 1: 1 题解 线性 阅读全文
摘要:
【BZOJ2460】元素(贪心,线性基) 题面 "BZOJ" Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更 阅读全文
摘要:
【BZOJ4516】生成魔咒(后缀自动机) 题面 "BZOJ" Description 魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示。例如可以将魔咒字符 1、2 拼凑起来形成一个魔咒串 [1,2]。 一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒。 例如 S=[1,2,1] 时,它的生成 阅读全文
摘要:
【BZOJ1497】【NOI2006】最大获利(网络流) 题面 "BZOJ" Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站 阅读全文
摘要:
"【CF620E】New Year Tree" 考虑一个比较暴力的$dp$ 设$f[i][j]$表示建了$i$个基站,最后一个的位置是$j$的最小代价 考虑如何转移$f[i][j]=min(f[i 1][p]+Cost(p+1,j)+C[j])$ 其中$Cost$表示代价,也就是区间内所有没有被覆盖 阅读全文
摘要:
线段树 by yyb Type1 维护特殊信息 "1.【洛谷1438】无聊的数列" 维护等差数列 不难发现,等差数列可以写成$ad+b$的形式 因为具有可加性 所以维护一下这个类似于斜率的东西 每次下放的时候把数列拆分成两段,$d$值公差不变 而变化的只有后面的常数项 至于如何只在一段区间内维护等差 阅读全文
摘要:
【SYZOJ279】滑稽♂树(树套树) 题面 "SYZOJ" "CJOJ" 题目描述 zzsyz实验楼里面种了一棵滑稽树,只有滑稽之力达到大乘期的oier才能看到。虽然我们看不到,但是还是知道一些信息: 这真的是一棵树,由n个节点,n 1条边联通。一号滑稽果同时也是整棵滑稽树的树根。 滑稽树上每个节 阅读全文
摘要:
【BZOJ2806】Cheat(后缀自动机,二分答案,动态规划,单调队列) 题面 "BZOJ" "洛谷" 题解 很有趣的一道题啊 对于在所有的串上面进行匹配? 很明显的后缀自动机 所以先构建出广义后缀自动机 然后这个拆分很像一个$dp$ 同时,要求的东西很像一个可以二分的样子 所以二分一个答案,考虑 阅读全文
摘要:
【BZOJ2733】永无乡(线段树,并查集) 题面 "BZOJ" 题解 线段树合并 线段树合并是一个很有趣的姿势 前置技能:动态开点线段树 具体实现:每次合并两棵线段树的时候,假设叫做$t1,t2$,其中要把$t2$合并进$t1$中 假设当前位置$t1$没有节点,则直接把$t2$的这个位置给$t1$ 阅读全文
摘要:
【BZOJ4991】我也不知道题目名字是什么(线段树) 题面 "BZOJ" 题解 对于线段树维护的区间维护以下东西: 区间左(右)端开始(结束)的最长(短)子串的长度 左端右端的值,以及当前区间内的答案 每次向上合并只需要分类讨论即可 阅读全文
摘要:
【BZOJ4999】This Problem Is Too Simple!(线段树) 题面 "BZOJ" 题解 对于每个值,维护一棵线段树就好啦 动态开点,否则空间开不下 剩下的就是很简单的问题啦 当然了,对于数值要离散化 没必要离线吧,在线用$map$维护就行了 cpp include inclu 阅读全文
摘要:
【BZOJ1858】序列操作(线段树) 题面 "BZOJ" 题解 这题思路很简单,细节很烦,很码 维护区间翻转和区间赋值标记 当打到区间赋值标记时直接覆盖掉翻转标记 下放标记的时候先放赋值标记再放翻转标记 这样可以维护前4个操作 对于第5个操作 维护区间从左/右端点开始的最大连续$0/1$的个数 以 阅读全文
摘要:
【BZOJ1835】基站选址(线段树) 题面 "BZOJ" 题解 考虑一个比较暴力的$dp$ 设$f[i][j]$表示建了$i$个基站,最后一个的位置是$j$的最小代价 考虑如何转移$f[i][j]=min(f[i 1][p]+Cost(p+1,j)+C[j])$ 其中$Cost$表示代价,也就是区 阅读全文
摘要:
【BZOJ2962】序列操作(线段树) 题面 "BZOJ" 题解 设$s[i]$表示区间内选择$i$个数的乘积的和 考虑如何向上合并? $s[k]=\sum_{i=0}^klson.s[i] rson.s[k i]$ 相当于是一个卷积形式 区间取相反数是一个很好处理的操作 把所有的$s[k],k\& 阅读全文
摘要:
【BZOJ1558】等差数列(线段树) 题面 "BZOJ" 题解 ~~可以说这道题已经非常毒瘤了~~ 怎么考虑询问操作? 如果直接将一段数分解为等差数列? 太麻烦了。。。。 考虑相邻的数做差, 这样等差数列变为了一段连续的相等区间 考虑怎么维护分解一段区间为最少数量的等差数列 事实上,等差数列的第一 阅读全文
摘要:
【UOJ228】基础数据结构练习题(线段树) 题面 "UOJ" 题解 我们来看看怎么开根? 如果区间所有值都相等怎么办? 显然可以直接开根 如果$max sqrt(max)=min sqrt(min)$怎么办? 此时意味着虽然开根出来的值不同,但是减去的值相同 举个例子,比如$8,9$ 开根后是$2 阅读全文
摘要:
【BZOJ2957】楼房重建(线段树) 题面 "BZOJ" 题解 对于整个区间维护最大斜率以及只考虑这个区间的答案 考虑如何向上合并。 首先左半段的答案是一定存在的 所以,现在的问题就是右半段能够贡献的答案 如果右半段的最大斜率小于左半段的最大斜率,则不存在贡献 否则,如果右半段分为右左和右右两段 阅读全文