随笔分类 - 精选题目
这里是作者刷过的所有题目中,个人认为质量最上乘的。
会随着作者的学习,动态删去一些太简单的内容,并添加新的更难的内容。
摘要:XXVIII.[UOJ#576][ULR#1]服务器调度 非常可怕的大数据结构题,原版代码整整码了9K,就算稍微合并合并也剩下7K…… 首先,我们考虑对每种颜色,建出一棵虚树。考虑求出虚树的一条直径。则有个结论是原树上到任意一点最远的点肯定是此直径的端点之一。 例如,我们考虑下方的这棵树: O /
阅读全文
摘要:XV.CF319E Ping-Pong 好题。 首先,离线下来离散化显然是不用说的。 然后观察这里“可以移动”的定义,发现明显可以类比图论中的连边。发现边只有有向边(两区间包含)和无向边(两区间相交)两种,又因为我们只管连通性,所以无向边可以直接使用并查集维护。而包含关系又具有可传递性,故我们最终会
阅读全文
摘要:XIV.SP1557 GSS2 - Can you answer these queries II 我认为这是GSS题目中难度最大的一道,不接受反驳。 这题中出现多次的只给算一次,应该咋办呢? 我们回忆起这种情况的经典老题:[SDOI2009]HH的项链。正解是将询问离线后按照右端点递增排序,然后出
阅读全文
摘要:XVII.[SDOI2017]龙与地下城 本题在模意义下和实数意义下,小范围和大范围下各有几种做法。 我们此处定义有$n$个骰子,每个骰子有$m$面。 小数据范围 明显发现它就是$f(x)=\frac{\sum\limits_xi}$的$n$次方。 于是直接倍增计算快速幂即可。时间复杂度$O(nm\
阅读全文
摘要:VII.[ZJOI2015]地震后的幻想乡 本题有两种思路。 一种思路是从暴力入手并优化状态。 我们考虑边的一组排列${p_1,\dots,p_m}$。它是将边按照边权从小到大排列的结果。则我们在这组排列上跑Kruskal,设在加入排名为$i$的边时跑出了一棵生成树,则这组排列的答案就是排名为$i$
阅读全文
摘要:IX.[CERC2016]二分毯 Bipartite Blanket 二分图的重要定理:霍尔定理(Hall's Theroem)的应用。 霍尔定理:二分图 \(V=\Big((S,T),E\Big)\) 存在完美匹配,当且仅当 \(\forall s\subseteq S,|s|\leq |E_s|
阅读全文
摘要:XXXVI.[UOJ#498]新年的追逐战 考虑最simple的场景,即我们要计算的是两张图的乘积 \(G=G_1\times G_2\)。显然,\(G\) 中的两个点 \((u_1,u_2)\) 与 \((v_1,v_2)\) 联通,当且仅当存在两条长度相等的可以是非简单的路径,满足第一条在 \(
阅读全文
摘要:XXXV.[WC2019]数树 首先将问题从”存在路径同时属于两个树“,先转换成被两个树上同时存在的边连成的连通块中的所有边须有相同颜色。进一步地,因为两棵树的并必然是森林,而森林的连通块数即为点数减边数,因此一对树 \(T_1,T_2\) 的贡献便是 \(f(T_1,T_2)=y^{n-|T_1\
阅读全文
摘要:XXVII.【模板】常系数齐次线性递推 题意:已知$f_0,\dots,f_$,且对于$k\geq m$,有 \(f_k=\sum\limits_{i=1}^ma_if_{k-i}\) 其中$a_1,\dots,a_m$是给定的系数。 求$f_n$。 我们一个naive的思路就是矩阵快速幂。 考虑设
阅读全文
摘要:XXIV.CF960G Bandit Blues 我们注意到,$n$一定是前缀最大值中最靠右的一个以及后缀最大值中最靠左的一个。换句话说,我们在位置$n$可以将整个排列划成两半,前一半中恰有$a-1$个前缀最大值,而后一半中恰有$b-1$个后缀最大值。 显然两半的问题是相同的,因为后缀最大值在翻转序
阅读全文
摘要:XVIII.CF848E Days of Floral Colours 大部分FFT题都是用来优化DP的…… 首先,我们看向环上的某个位置$i$(自动对$2n$取模): \(\dots,(i-2),(i-1),i,(i+1),(i+2),\dots\) 它有如下几种配对: \((i,i+n)\)。
阅读全文
摘要:XVII.CF773F Test Data Generation 首先先把题意翻译成人话,就是满足两个条件: $n$为奇数。 $a_n$为$a$中含有最少$2$次幂的因子的数,且$a_n$中至少含有一个$2$。 第一个限制很好满足,但是第二个咋办呢? 我们再来翻译一下,就是将所有数同除以$2$的一个
阅读全文
摘要:XIV.CF553E Kyoya and Train 题解
阅读全文
摘要:XII.小清新数据结构题 太 清 新 了 话说就我一个人看到这道题后兴冲冲的以为暴力LCT就能过然后发现LCT如果维护子树信息的话只有根节点处的信息是正确的吗(没错,就我一个) 闲话少说,正片开始。 法一:推一种式子,然后LCT/树剖维护 我们设$val_i$为$i$节点的值,然后$sum_i$为根
阅读全文
摘要:VII.[HNOI2015]开店 首先,第一种方法便是动态点分治。 我们先考虑忽略年龄限制的情形。 我们考虑正常求一个点到另一个点的距离应该怎么求—— 一般来说,我们会用$dis(i,j)=dep_i+dep_j-2*dep_{lca(i,j)}$对吧? 这个东西相当于将路径划分成两个部分,其中每个
阅读全文
摘要:XVIII.[八省联考2018]制胡窜 首先,本题parent tree上树上倍增+线段树合并找出每个点的 \(\text{endpos}\) 集合应该是没得说的。 于是我们现在考虑知道了 \(\text{enspos}\) 集合以及询问串长度 \(len\) 怎么求出答案。 首先,一个正常人稍微想
阅读全文
摘要:XXIX.CF700E Cool Slogans 题解
阅读全文
摘要:XXIV.CF482E ELCA Difficulty 3200的大神题。 这题维护应该很好想:与其维护所有对的LCA,不如维护一个数是多少对的LCA。显然,这个数量应该为$sz_x2-\sum\limits_{y\in son_x}sz_y2$。其中$sz_x$为$x$子树的大小,$son_x$为
阅读全文

浙公网安备 33010602011771号