随笔分类 - 题解
摘要:题面 分析 对于这道题,我们可以将询问按照学生的体力$p$分为两类,第一类是$p>\sqrt$,第二类是其他情况。 对于第一类询问,可以采用暴力的方式处理,两边一起向lca跳。我们可以通过倍增预处理出对于不同的体力,学生最多可以向上跳多少,具体的说$jump(i,j)$表示节点$i$向上跳体力为$j
阅读全文
摘要:题面 分析 本题可以作为回滚莫队的入门题。回滚莫队是用于解决一类具有莫队特征、且加删点操作有一个很简单而另一个很难的时候可以使用的算法,复杂度同样为根号级。 举例而言,本题题意等价于每次询问给定区间,求区间内每个数的值乘以其出现次数之积的最大值。显然,这个问题中加点操作很简单,而朴素的删点需要反复维
阅读全文
摘要:题面 分析 对每个点的贡献进行分析:如果这个点不是割点,那么去掉这个点图仍然联通,减少的访问仅为这个点和其他点之间的联系,也就是$2*(n-1)$。如果这个点是割点,那么去除之后图会变成多个联通块。设第$i$个联通块的大小为$size_i$,易知联通块之间减少的联系是$\Sigma_i\Sigma_
阅读全文
摘要:题面 分析 假设我们最后选出的边集为$S$,显然,奶牛们可以获得的单位时间钱数就是$\frac{f-\Sigma c_i}{\Sigma t_i} (i\in S)$。这样的式子简直就是在暗示01分数规划。 设最大答案为$ans$,那么就有式子$ans=\frac{f-\Sigma c_i}{\Si
阅读全文
摘要:题面 分析 看到求出现次数不难想到莫队。接下来考虑如何处理$[a,b]$的问题。设$cnt[i]$表示$i$出现的次数,那么询问等价于求$\Sigma^b_cnt_i$,显然可以通过维护rmq数据结构完成。第二问同理之。 代码 /* By Nero Claudius Caeser Augustus
阅读全文
摘要:题面 分析 垃圾题面。 考虑一下题目的意思,既然S中只要有大于等于x的元素就要减RP,那我们就从小到大取就可以避免这个问题了。如果采取这种策略,不难看出只有相同的元素才会对答案做贡献,也就是说,答案等于出现次数最多的数的出现次数。于是,本题转化为求区间众数。 注意区间端点取值范围较大,需要离散化。
阅读全文
摘要:题面 分析 观察样例容易发现,本题的序列其实是很多个环的结合。不同的环按照特定的周期循环,在这些周期的公倍数时会恢复为原数列。 更加严谨的表述是:给定序列$1\sim n$,记为$p$。求$lcm(|S_i|)$,其中$S_i$满足$S_i\cup S_j=\emptyset$,且$S_1\cap
阅读全文
摘要:思路 非旋treap的思想是范浩强引入的,所以也被称为fhq treap。 主要操作为分裂和合并。 注释都在代码里了,基本每一行都有。 代码
阅读全文
摘要:题意 刚开始你有一个数字$0$,每一秒钟你会随机选择一个$[0,2^n 1]$的数字,与你手上的数字进行或(c++,c的 ,pascal的 )操作。选择数字$i$的概率是$p[i]$。保证$0 using namespace std; namespace StandardIO{ templatein
阅读全文
摘要:题意 懒得粘贴了,自己去找吧。 思路 啊哈我重构了代码,换了fhq treap,这次秒过了。 思路还是比较显然的,就每行一棵treap,然后结尾一棵treap。 注意我们不可能维护每一个值,所以肯定是维护区间,那么把人叫走的操作就是将区间拆成三块,然后把中间那块拿走。在实现上就专门写了一个 来实现拆
阅读全文
摘要:题意 最近沉迷于一款神奇的游戏无法自拔。 简单来说,这款游戏是在一个平面上进行的。 有一架弹弓位于 $(0,0)$ 处,每次 可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如 $y=ax^2+bx$ 的曲线,其中 $a,b$ 是 指定的参数,且必须满足 $a 既然是要给学弟讲那就写长一
阅读全文
摘要:题意 在克哈星系的冒险中,$Jim$和他的游骑兵遭遇了虫群的进攻。$Jim$出色的指挥能力使他在兵力严重不足的情况下依旧抗击虫群的多次进攻。但与此同时$Jim$的部分士兵战斗服能源却不足以支持他们继续作战。为了更强的火力压制,$Jim$决定将所有士兵的能源 平分 ,以便所有人都能够参与作战。 已知$
阅读全文
摘要:题意 在某个不知名的行星上蕴含着大量冰晶矿,$Jim$和他的好兄弟$Swan$自然不能放过这个赚钱的好机会。 $Jim$在整个星球上开掘树型矿洞,每个矿坑之间都有矿道相连。 $Jim$和$Swan$在每个矿坑开采了大量的矿石,现在他们面临一个新的问题,怎么把所有的矿石运出去。已知,矿坑与矿坑之间形成
阅读全文
摘要:题意 给定两个序列,可以以任意方式对其重排序,然后每一位求和,求新序列的众数出现次数。 思路 出题人的数据只用了一个$rand()$,所以比较大的情况下答案会在32768附近,暴力枚举一下即可。 对于一个枚举的众数$x$,答案为$\sum_{i=0}^x min(ma[i],mb[x i])$ (事
阅读全文
摘要:题意 给定一个连通图,上面有若干标记点,求这些标记点之间的最短路。保证没有重边和自环。 思路 二进制分组一下,按照二进制位将标记点分开。每一组跑一次多源最短路(伪)(其实就是将多个点扔进优先队列跑dijk)。 (数据有点水,分成三组都能过) 代码
阅读全文
摘要:题意 又是一位被$oi$耽误了的文学家,甚至有一种做$lxl$题的感觉。 给定一棵树,向上加若干新边。现在可以删除一条树边一条新边,求将这棵树截断的方案数。 思路 对于一条边,如果没有新边覆盖他,显然删除这条边再删除任意一条新边均可。 如果有一条新边覆盖,那么删除这条树边再删除这条新边,只有一种方法
阅读全文
摘要:题意 对于整数序列 $(a_1,a_2,\cdots,a_n)$和 $1\sim n$的排列$(p_1,p_2,\cdots,p_n)$,称 $(a_1,a_2,\cdots,a_n)$符合 $(p_1,p_2,\cdots,p_n)$,当且仅当: $\{a\}$中任意两个数字互不相同; 将 $(a
阅读全文
摘要:题意 给出一个长度为n的序列a,首先求出其所有区间的中位数,将这些中位数构成的集合记为S,求S中所有数的中位数。 这里定义的中位数指: 对于m个数,将其从小到大排序后,第(m/2+1)个数即为中位数,例如(10,30,20)的中位数为20,(10,30,20,40)的中位数为30,(10,10,10
阅读全文
摘要:题意 思路 首先有一点是肯定的,掉落的形状会像一个三角形一样。(因为总体的排列像砖墙一样,所以掉落范围只能缩小不能扩大) 于是我们可以维护初始的所有区间,然后在向上转移的过程中合并区间、统计答案。 代码
阅读全文

浙公网安备 33010602011771号