03 2018 档案
摘要:测试地址:装备购买 做法:本题需要用到线性基+贪心。 很容易看出,这题要求一个权值和最大的线性无关组,这次是真的原版线性基了,而不是异或线性基,所以为了保证精度,要开long double,而且写法也和异或线性基略有不同,详见代码。 以下是本人代码:#inc...
阅读全文
摘要:测试地址:区间mex 做法:本题需要用到主席树。 看到本题是离线的,很多同学想到了很显然的莫队做法,或者一些奇奇怪怪的离线做法,但实际上在线做法是有的:主席树。 考虑转换条件,我们要求最小的在一个区间中没出现过的自然数,如果把原数列看做往一个空序列中一个一个...
阅读全文
摘要:测试地址:幸运数字 做法:本题需要用到树上倍增+异或线性基合并。 我们发现,每次询问都是求从一条路径上选一个子集,使得这个子集的异或和最大。如果只有一个询问,那敢开这题的大家肯定都会O(60n)" role="presentation" style="pos...
阅读全文
摘要:测试地址:XOR 做法:本题需要用到异或线性基+DFS树+贪心。 这题有很多神奇的结论,本蒟蒻只会感性证明,严谨证明就请各位大佬自己脑补了…… 首先我们有一个结论: 结论1:任何一条从1" role="presentation" style="positio...
阅读全文
摘要:测试地址:XOR 题目大意:给定n" role="presentation" style="position: relative;">nn个正整数,它的每个子集(除空集外)都有一个异或和,求这些异或和中严格第k" role="presentation" st...
阅读全文
摘要:测试地址:新Nim游戏 做法:本题需要用到博弈论+异或线性基+贪心。 首先根据博弈论的基本知识,标准的Nim游戏中,只要所有火柴堆内的火柴数目的异或值为0" role="presentation" style="position: relative;">00...
阅读全文
摘要:测试地址:元素 做法:本题需要用到异或线性基+贪心。 有关异或线性基的知识可以看这里。 根据题目的意思,我们需要找到一个矿石的子集,使得不存在任何一个子集使得子集内矿石的编号异或和为0" role="presentation" style="position...
阅读全文
摘要:测试地址:重建 做法:本题需要用到矩阵树定理。 这两天去学(背)了矩阵树定理,主要就是将度数矩阵D" role="presentation" style="position: relative;">DD减去邻接矩阵A" role="presentation"...
阅读全文
摘要:测试地址:虔诚的墓主人 做法:本题需要用到线段树+离散化+组合数。 首先我们可以先将常青树的横纵坐标离散化,可是能成为十字架中心的墓地数量还是可能有W2" role="presentation" style="position: relative;">W2W...
阅读全文
摘要:测试地址:灾难 做法:本题需要用到拓扑排序+建树+LCA。 首先看到要处理DAG上的问题,自然而然地想到用拓扑排序处理出图的层次(这里的图是指从被吃的生物指向吃的生物的图)。我们发现题目要求的是,将某一个点删去后,有多少个点因此不能从最高层(即图中入度为0的...
阅读全文
摘要:测试地址:括号序列 做法:本题需要用到Splay。 对于任意一个括号序列,我们把配对的括号删掉之后,最后肯定是x" role="presentation" style="position: relative;">xx个右括号紧接着y" role="prese...
阅读全文
摘要:测试地址:寻宝游戏 做法:本题需要用到DFS+set。 首先需要看出,无论从哪个点出发结果都相同。然后就是要找一种能得到最优解的走法,显然走每条边2" role="presentation" style="position: relative;">22次是最...
阅读全文
摘要:测试地址:病毒 题目大意:给定若干个01串,问存不存在一个无限长的串,使得这个串不包含任意一个给出的01串。 做法:本题需要用到AC自动机+DFS判环。 因为题目中涉及到了多串匹配的问题,所以自然想到构建AC自动机。接下来,我们知道匹配的过程实际上就是在AC...
阅读全文
摘要:测试地址:阿狸的打字机 做法:本题需要用到AC自动机+树状数组。 因为题目是一个多模式串的匹配问题,所以很快想到对所有输出的字符串建AC自动机。 根据AC自动机的性质,如果一个点能够通过fail" role="presentation" style="pos...
阅读全文
摘要:测试地址:序列分割 做法:本题需要用到DP斜率优化。 本题首先要注意到一个性质:只要选定了切割位置,无论按什么顺序切结果都相同。 令a,b,c" role="presentation" style="position: relative;">a,b,ca,b...
阅读全文
摘要:测试地址:萃香的请柬 做法:本题需要用到找规律(划掉)数学证明。 首先我们要猜(划掉)观察出两个结论: 第一:若第一个字符串为L,第二个字符串为B,则以后任意字符串都是前一个字符串后面接上前一个字符串的前一个字符串,如第三个字符串为B+L=BL,第四个为BL...
阅读全文
摘要:测试地址:雨天的尾巴 题目大意:一棵树,对其执行若干次操作,每次选定一条路径和一种型号的货物,然后给这条路径上所有的点派发一份选定型号的货物,最后求每个点获得的最多的货物的型号。 做法:本题需要用到线段树合并+树上差分。 首先,对一条路径派发货物,我们可以用...
阅读全文
摘要:测试地址:Subtree Minimum Query 题目大意:给定一棵有根树,每个节点有一个权值,现在有若干个询问,每个询问给出x,k" role="presentation" style="position: relative;">x,kx,k,表示询问...
阅读全文
摘要:测试地址:Tree Rotations 做法:本题需要用到平衡树启发式合并。 对于叶子节点,最优答案显然是0" role="presentation" style="position: relative;">00。然后对于每棵子树,我们发现由转换它的左右子树...
阅读全文
摘要:测试地址:永无乡 做法:本题需要用到平衡树启发式合并。 题目要维护每个连通块的第k" role="presentation" style="position: relative;">kk大,并且要支持合并。维护第k" role="presentation" ...
阅读全文
摘要:测试地址:万径人踪灭 做法:本题需要用到FFT+Manacher。 这道题要求不连续的回文子序列数量,显然这个数量等于所有回文子序列数量减去连续的回文子序列数量,后面的部分很显然可以用Manacher算法求出,那么现在的问题就是要求出所有回文子序列数量。 对...
阅读全文
摘要:测试地址:品酒大会 做法:本题需要用到后缀数组+并查集。 不难想到,对题目所给的字符串构造后缀数组,那么后缀数组上两个后缀之间最小的height" role="presentation" style="position: relative;">heighth...
阅读全文
摘要:测试地址:世界树 做法:本题需要用到虚树+树形DP。 首先一看这道题我们就知道要用虚树,因此我们先把询问点的虚树先建出来,然后考虑DP。 我们把虚树中每个点受哪个点管辖先求出来,这是通过两次DFS来完成的,一次处理向下方向的最近,一次处理向上方向的最近。然后...
阅读全文
摘要:测试地址:消耗战 做法:本题需要用到虚树+树形DP。 这题如果只有一个询问,相信大家都会做了,比较裸的树形DP。但是询问次数很大,每次询问都O(n)" role="presentation" style="position: relative;">O(n)O...
阅读全文
摘要:测试地址:City Skyline 题目大意:给定一个直方图轮廓,问最少需要多少个矩形能够拼出这个轮廓(矩形可以相交)? 做法:本题需要用到单调栈。 对每个点求出以该点为最小值的最大区间,我们发现题目要求的就是除了元素0外,有多少本质不同的区间。 我们把高度...
阅读全文
摘要:测试地址:Feel Good 题目大意:给定一个元素均为非负整数的序列A" role="presentation" style="position: relative;">AA,求一个区间[l,r]" role="presentation" style="p...
阅读全文
摘要:测试地址:Gty的妹子序列 做法:本题需要用到序列分块+树状数组。 求区间逆序对数,我们知道可以用莫队算法+树状数组来做离线做法,但是这题强制在线,我们应该怎么办呢? 还是考虑分块,将序列分成n" role="presentation" style="pos...
阅读全文
摘要:测试地址:高速公路 做法:本题需要用到线段树。 归纳一下,本题要维护的信息是: ∑i=lr(i−l+1)(r−i)(r−l+1)(r−l)/2Vi" role="presentation"...
阅读全文
摘要:测试地址:棘手的操作 做法:本题需要用到线段树+并查集+离线处理。 话说这题号还真喜庆……又据说这题原来是毒瘤数据结构,什么堆套左偏树之类……但是本蒟蒻从某大佬那里得到了离线做法的启示,所以就水了一发。 我们尝试构造一种点的排列方案,使得操作中涉及的所有连通...
阅读全文

浙公网安备 33010602011771号