02 2019 档案
摘要:【BZOJ5339】[TJOI2018]教科书般的亵渎(斯特林数) 题面 "BZOJ" "洛谷" 题解 显然交亵渎的次数是。 那么这题的本质就是让你求,中间再减掉几项直接暴力就行了。 所以只要考虑求这个东西。 比如说斯特林数? $$m^n=\su
阅读全文
摘要:【BZOJ5337】[TJOI2018]str(动态规划,哈希) 题面 "BZOJ" "洛谷" 题解 就很呆。。。 显然按层,如果能够匹配上就进行转移,直接哈希判断是否能够匹配就好了。。。 cpp include include include using namespace std; de
阅读全文
摘要:【BZOJ5335】[TJOI2018]智力竞赛(二分图匹配) 题面 "BZOJ" "洛谷" 题解 假装图不是一个DAG想了半天,。发现并不会做。 于是假装图是一个DAG。 那么显然就是二分答案,然后求一个最小链覆盖就好了。。。 然而一开始我以为是不交的链覆盖。。。。 然而是可以交的。。。 所以就F
阅读全文
摘要:【BZOJ5471】[FJOI2018]邮递员问题(动态规划) 题面 "BZOJ" "洛谷" 给定平面上若干个点,保证这些点在两条平行线上,给定起点终点,求从起点出发,遍历所有点后到达终点的最短路径长度。 题解 不会做,于是点开LOJ,点开除了之外 "唯一过的人的代码" ,照着打了一遍Qw
阅读全文
摘要:【BZOJ5470】[FJOI2018]所罗门王的宝藏() 题面 "BZOJ" "洛谷" 有个变量,给定组限制,每次告诉你,问是否有可行解。 题解 一道很呆的题目,我都不知道应该算什么类型了。。。 把行列拆开,对于一个限制,连边行到
阅读全文
摘要:【BZOJ5469】[FJOI2018]领导集团问题(动态规划,线段树合并) 题面 "BZOJ" "洛谷" 题解 题目就是让你在树上找一个最大的点集,使得两个点如果存在祖先关系,那么就要满足祖先的权值要小于等于儿子的权值。 首先离散权值。 考虑一个暴力,设表示以为根,
阅读全文
摘要:【BZOJ5324】[JXOI2018]守卫(动态规划) 题面 "BZOJ" "洛谷" 题解 既然只能看到横坐标在左侧的点,那么对于任意一个区间而言,必须被选。 假设看不到若干个区间,其中一个区间是,因为能够被看到,所以这一段一定看
阅读全文
摘要:【BZOJ5323】[JXOI2018]游戏(组合计数,线性筛) 题面 "BZOJ" "洛谷" 题解 显然要考虑的位置只有那些在中不存在任意一个约数的数。 假设这样的数有个,那么剩下的数有个。 枚举时间,那么强制在时刻放下数中的最后一个, 那么这样子的
阅读全文
摘要:【BZOJ5322】[JXOI2018]排序问题(模拟) 题面 "BZOJ" "洛谷" 题解 这题就显得很呆。 显然就是每次找到中出现次数最小的那个数并且放一个。 然后随便模拟一下就好了QwQ。 cpp include include include using namespace s
阅读全文
摘要:【BZOJ5318】[JSOI2018]扫地机器人(动态规划) 题面 "BZOJ" "洛谷" 题解 神仙题。不会。。。。 先考虑如果一个点走向了其下方的点,那么其右侧的点因为要被访问到,所以必定只能从其右上方的点走过来。同理,如果这个点向右,那么其下方的点就只能从其左下方的点向右走过来。 因此我们可
阅读全文
摘要:【BZOJ5316】[JSOI2018]绝地反击(网络流,计算几何,二分) 题面 "BZOJ" "洛谷" 题解 很明显需要二分一个答案。 那么每个点可以确定的范围就是以当前点为圆心,二分出来的答案为半径画一个圆,和目标的圆的交就是可行的区间。 首先我们不知道正边形的转角,如果我们知道的话,可以
阅读全文
摘要:【BZOJ5314】[JSOI2018]潜入行动(动态规划) 题面 "BZOJ" "洛谷" 题解 不难想到一个沙雕,设表示当前点,子树中一共放了个,这个点是否放了,这个是否被覆盖了。 看起来直接合并是的QwQ。。。。。 然后
阅读全文
摘要:【BZOJ5315】[JSOI2018]防御网络(动态规划,仙人掌) 题面 "BZOJ" "洛谷" 题解 显然图是仙人掌。 题目给了斯坦纳树就肯定不是斯坦纳树了,,,, 总不可能真让你枚举点集再来一个至少的斯坦纳树吧。。。 现在对于每一条边考虑贡献。 如果这条边是不在环内,那
阅读全文
摘要:【BZOJ5308】[ZJOI2018]胖(模拟,ST表,二分) 题面 "BZOJ" "洛谷" 题解 首先发现每条出发的边都一定会更新到底下的一段区间的点。 考虑存在一条的边,我们来求解其可以影响的区间,显然。 两侧分开考
阅读全文
摘要:【BZOJ5302】[HAOI2018]奇怪的背包(动态规划,容斥原理) 题面 "BZOJ" "洛谷" 题解 ~~为啥泥萌做法和我都不一样啊~~ 一个重量为的物品,可以放出所有的重量,而多个物品也只要就好了。 现在的问题转变成了有多少个集合,满足$S
阅读全文
摘要:【BZOJ5303】[HAOI2018]反色游戏(Tarjan,线性基) 题面 "BZOJ" "洛谷" 题解 把所有点全部看成一个串,那么每次选择一条边意味着在这个串的基础上异或上一个有个的串。 那么把边构建线性基,最终的答案显然就是的不在线性基里的边数次方
阅读全文
摘要:【BZOJ5304】[HAOI2018]字串覆盖(后缀数组,主席树,倍增) 题面 "BZOJ" "洛谷" 题解 贪心的想法是从左往右,能选就选。这个显然是正确的。 题目的数据范围很好的说明了要对于询问分开进行处理。 先考虑询问的模板串长比较大的情况。 那么只需要每次找到一个范围内的最小位置然后接着暴
阅读全文
摘要:【BZOJ5305】[HAOI2018]苹果树(组合计数) 题面 "BZOJ" "洛谷" 题解 考虑对于每条边计算贡献。每条边的贡献是。 对于某个点,如果它有一棵大小为的子树的话,考虑方案数。 首先要从剩下的个点中选出个点作为这棵子树,那么选
阅读全文
摘要:【BZOJ5300】[CQOI2018]九连环 (高精度,FFT) 题面 "BZOJ" "洛谷" 题解 "去这里看吧,多么好" cpp include include include include using namespace std; define MAX 150000 const doubl
阅读全文
摘要:【BZOJ5291】[BJOI2018]链上二次求和(线段树) 题面 "BZOJ" "洛谷" 题解 考虑一次询问的答案。其中表示前缀和 $\displaystyle \sum_{i=l}^r\sum_{j=i}^n S_{j i+1,j}=\sum_{i=l}^r\sum_{j=
阅读全文
摘要:【BZOJ5298】[CQOI2018]交错序列(动态规划,矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 考虑由个和个组成的合法串的个数。 显然就是把当做隔板插入进去,那么有个位置可以放,所以方案数就是。 而$x^ay
阅读全文
摘要:【BZOJ5289】[HNOI2018]排列(贪心) 题面 "BZOJ" "洛谷" 题解 这个限制看起来不知道在干什么,其实就是找到所有排列中,,那么。即先选平均权值较小的块。 那么每次就选出这个块,然后把它和它的父亲合并在一起就好了,产生的贡献是$d_a s
阅读全文
摘要:Codeforces Round 539 Div1 题解 听说这场很适合上分QwQ 然而太晚了QaQ A. Sasha and a Bit of Relax 翻译 有一个长度为的数组,问有多少个长度为偶数的连续区间,使得其前一半的异或和等于后一半的异或和。 题解 显然就是求长度为偶数且异或和为
阅读全文
摘要:【BZOJ5288】[HNOI2018]游戏(拓扑排序) 题面 "BZOJ" "洛谷" 题解 去年省选的时候这题给我乱搞整过去整过去了,也是虐心了。。。。 所以当然是来讲正儿八经的正确做法啦。 很明显,我们需要预处理答案。设表示从出发能够到达的区间范围。 现在我们要做的就
阅读全文
摘要:【BZOJ4784】[ZJOI2017]仙人掌(Tarjan,动态规划) 题面 "BZOJ" "洛谷" 题解 显然如果原图不是仙人掌就无解。 如果原图是仙人掌,显然就是把环上的边给去掉,变成若干森林连边成为仙人掌的方案数。 那么对于一棵树而言,考虑其变成仙人掌的方案数。 设表示匹配个
阅读全文
摘要:【BZOJ3451】Normal (点分治) 题面 "BZOJ" 题解 显然考虑每个点的贡献。但是发现似乎怎么算都不好计算其在点分树上的深度。 那么考虑一下这个点在点分树中每一次被计算的情况,显然就是其在某个点的点分树内时才会被计算答案。 那么设表示在的点分树里面的概率
阅读全文
摘要:【CF1097E】Egor and an RPG game(动态规划,贪心) 题面 "洛谷" "CodeForces" 给定一个长度为的排列,定义为将一个任意一个长度为的排列划分成最少的上升和下降子序列的个数的最大值。现在你要把这个排列划分成不超过个上
阅读全文
摘要:【THUWC2017】随机二分图(动态规划) 题面 "BZOJ" "洛谷" 题解 如果每天边的限制都是的概率出现或者不出现的话,可以把边按照二分图左侧的点的编号排序,然后设表示左边的前个点中,匹配了右侧的点集的方案数。每次枚举一条边进行转移。为了防止在点集中重
阅读全文
摘要:【CF526G】Spiders Evil Plan(贪心) 题面 "洛谷" "CodeForces" 给定一棵树,要求选择条链,满足被链覆盖的所有点在树上联通,且必定在联通块中。 对于每次询问最大化被链覆盖的边的权值和。 强制在线。 题解 假设我们只有一次询问,会怎么做? 显然以为
阅读全文
摘要:【CF850E】Random Elections(FWT) 题面 "洛谷" "CF" 题解 看懂题就是一眼题了。。。 显然三个人是等价的,所以只需要考虑一个人赢了另外两个人就好了。 那么在赢另外两个人的过程中,一定是两个长度为的二进制串的对应值都是。 考虑每个人投票的贡献,如果是$0
阅读全文
摘要:【NowCoder368E】车站(线段树) 题面 "牛客网" 题解 链交的结果显然和求解的顺序无关,因此我们可以拿线段树维护区间链的链交结果。 然后怎么求解最远点。 维护链交的时候再记录两个点表示到达链交两个端点的最远点编号,合并的时候也维护一下。 这样子就可以啦。 然后分类讨论论论论论论论论一下就
阅读全文
摘要:【BZOJ2576】[JSOI2011]序的计数 (动态规划) 题面 "BZOJ" 题解 首先构建一个新的虚拟节点连接所有目标节点,强行将其作为第一个被访问的节点,这样子就解决了图不连通的问题。 除了目标节点外,所有其他点都可以缩成一个节点。 这样子的图实际上只有个节点,个目标节
阅读全文
摘要:【BZOJ3215/3216】[ZJOI2013]话旧/话旧2(组合数学,动态规划) 题面 "BZOJ3215" "BZOJ3216" 题解 先解决,求的是 最小值 为。 因为起点就是,所以就是在过程中不会到以下。 那么两个相邻位置的合法走法可以转化成网格图上从$(0,
阅读全文
摘要:【UOJ 311】【UNR 2】积劳成疾(动态规划) "UOJ" Solution 考虑最大值分治解决问题。每次枚举最大值所在的位置,强制不能跨过最大值,左右此时不会影响,可以分开考虑。 那么设表示长度为,且最大值不超过的所有方案之和。 因为最大值有多个,所以我们钦定每
阅读全文
摘要:【BZOJ5294】[BJOI2018]二进制(线段树) 题面 "BZOJ" "洛谷" 题解 二进制串在模意义下,每一位代表的余数显然是这样子交替出现的。 其实换种方法看,就是 如果询问一个二进制串能否被整除,那么只需要考虑奇数位上的的
阅读全文
摘要:【BZOJ5293】[BJOI2018]求和(前缀和,LCA) 题面 "BZOJ" "洛谷" 题解 送分题??? 预处理一下次方的前缀和。 然后求个就做完了?、、、 cpp include include using namespace std; define MOD 9982443
阅读全文
摘要:【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥) 题面 "BZOJ" "洛谷" 题解 考场上想到的暴力做法是容斥: 因为,所以最多会多出来条非树边。 如果就是一棵树的话,显然答案就是独立集的个数。 非树边枚举,强制非树边的两端同时备选导致不
阅读全文
摘要:【BZOJ5250】[九省联考2018]秘密袭击(动态规划) 题面 "BZOJ" "洛谷" 给定一棵树,求其所有联通块的权值第大的和。 题解 整个的暴力剪剪枝就给过了。。。 cpp include include include using namespace std;
阅读全文
摘要:【BZOJ5213】[ZJOI2018]迷宫(神仙题) 题面 "BZOJ" "洛谷" 题解 首先可以很容易的得到一个个点的答案。 构建个点分别表示的余数。那么点的出边指向。容易证明这样子一定是可行的。 但是我们显然还有一部分点是可
阅读全文
摘要:CodeForces Global Round 1 CF新的比赛呢(虽然没啥区别)!这种报名的人多的比赛涨分是真的快。。。。 所以就写下题解吧。 A. Parity 太简单了,随便模拟一下就完了。 B. Tape 显然就是先找一个长的把所有的全部覆盖,然后可以在上面丢掉段间隙。 那么把两两
阅读全文
摘要:【BZOJ5212】[ZJOI2018]历史(Link Cut Tree) 题面 "洛谷" "BZOJ" 题解 显然实际上就是给定了一棵树和每个点被的次数,求解轻重链切换的最大次数。 先考虑不带修改的答案。 如果直接考虑全局的答案会很麻烦。 考虑每一个在每一个点处被切换的次数。 显然
阅读全文
摘要:【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划) 题面 "BZOJ" "洛谷" 题解 吉老师的题目是真的神仙啊。 去年去现场这题似乎骗了分就滚粗了? 首先直接算时的边数就好了。同理。 这里直接计算每个点的度数就可以做,然后就有分了。 我们
阅读全文
摘要:突然意识到有一些题目的计划,才可以减少大量查水表或者找题目的时间。 所以我决定这样子处理。 "按照这个链接慢慢做" 。 当然不可能只做省选题了。 需要适时候夹杂一些其他的题目。 比如的题目,以及上的一些省的集训题目,还有的各种的题目。 大块大
阅读全文