04 2022 档案
摘要:题面传送门 题面里那个式子显然可以化成 考虑如果我们知道了一个磁铁的磁极那么就可以用次询问问出所有的状态。 题面里那个绝对值不超过很难搞,这暗示我们每次询问必定有一边只能有一个,那么绝对值就不会超过。 考虑维护一个集合,初始令$S={1,2,\
阅读全文
摘要:题面传送门 考虑其实这种路径修改的东西不是很好搞,所以考虑差分。 另一个点的权值为与他相邻的所有边的权值,那么发现一条路径修改只会改变两个端点的权值。 然后就和这个树没有半毛钱关系了,变成了有个树每次找两个点都异或一个值。 首先可以贪心,如果有两个点一样那么可以直接干掉。 然后就剩下不超过$1
阅读全文
摘要:题面传送门 写了个NTT然后被一堆到现在还看不懂的线性做法吊起来打。 首先我们考虑直接对重心的充要条件下手:当前节点的孩子的子树不超过 先考虑设表示一颗个点的树,且没有一个子树大小超过$\frac{n}{2}\(的方案
阅读全文
摘要:题面传送门 考虑维护每个集合内表示的倍数的出现次数膜2,那么发现取并就是xor。取积就是and。 然后赋值就直接分解质因数即可。 然后发现似乎询问要一个莫反是的。 但是实际上莫反可以看做一个取and的过程,而实际用来取and的只有种,
阅读全文
摘要:题面传送门 首先发现如果按照C2那个做法我们可以暴力dp 考虑这个膜有啥性质,不难想到如果一个段两边前缀膜是一样的那么这个段的答案就是。 当的时候由抽屉原理必有个相同的前缀膜,也就是说答案不超过$\sum\limits_{i=1}^{n}{A_i}\mod p
阅读全文
摘要:题面传送门 为啥这个题空间只开128M啊,反正空间都能卡掉开个256M造福人类不好吗? 首先考虑对于每种颜色计算答案,容易想到对于每个点向左向右跑,总共只会有个区间会有答案的贡献,这个贡献形如,然后$l\leq x\leq r,l\leq y\le
阅读全文
摘要:题面传送门 写吐了……我再也不想看见这个题了。 首先如果只有异或是很好做的,因为异或不会导致颜色合成,所以直接线段树分裂+合并之后打懒标记就好了。 然后问题变成了与和或。 首先与可以转化为或,因为可以先全局取反,然后做一遍或,然后取反回来。 接下来考虑或,因为除了或可以相当于直接打异或标记,而阻碍打
阅读全文
摘要:题面传送门 怎么人均卡log大师就我过不去。 首先按照荷马史诗那题的做法,显然有一个的做法:把每个数的出现次数扔到一个堆里面,然后每次取出最小的合并,最后答案就是每次合并出来的值的和。 然后我们发现其实两个数出现同一种次数其实相当于一种次数出现了两次,可以一起处理,所以每次
阅读全文
摘要:题面传送门 首先容易发现一个性质:答案不超过。 因为中最小的间隔,再乘上一定不会超过。 这启发我们根号分治。 对于长度小于的区间,每次维护set暴力拓展,计算答案,时间复杂度 对于长度
阅读全文
摘要:题面传送门 首先考虑一个性质:这两个数中一定有一个是全序列众数。 因为如果不是全序列众数显然可以向左和向右扩展直到全序列众数在区间内,因为众数出现次数最多所以一定有一个区间是这样的。 然后就可以对于做到一个的东西,相当于要枚举当前另一个是什么数,然后要找一个区间满足两个数量相等,也就是
阅读全文
摘要:题面传送门 题目有个肥肠神奇的地方就是询问之后区间推平。 区间推平容易想到可以珂朵莉树,然后如果暴力遍历珂朵莉树上每个节点,然后用可以接受的复杂度询问,那么就可以解决了。 发现珂朵莉树上一个区间的推平时间是一样的,也就是说到现在的时间是一样的。 然后可以分成有没有顶到上届,离线树状数组就好了。 时间
阅读全文
摘要:题面传送门 先来考虑。 可以枚举最后的那一行是啥,那么刚开始当前行是可以达到的。 接下来从后往前枚举边,如果这条边有一个端点可以走到,那么另一个端点也可以走到。 发现这个可以并行,然后就可以bitset优化,时间复杂度 再考虑。 首先显
阅读全文
摘要:题面传送门 既然题面告诉我们不强制在线那就离线。按照极差的顺序从小到大排序。 考虑维护st表之后其实可以暴力跳,时间复杂度。 这种每个点向后跳的操作想到弹飞绵羊,就想到LCT。如果对于每个点都维护这个点当前往后跳能跳到第几个点,那么查询的时候直接从点
阅读全文
摘要:题面传送门 奇妙的思维(技巧?)题。 发现每个物品有个,体积为,对于的物品来说,这个个数的限制是相当于没有的。所以相当于完全背包。 前面个可以暴力多重背包算方案数。 考虑后面个最多选择个。所以可以设$dp_{i,
阅读全文
摘要:题面传送门 垃圾选手写了个单次询问的垃圾做法发现过了/jy 首先我们发现这个血量的值域很小,显然可以每次修改暴力背包出表示第个数血量为的概率。 然后因为询问不是很多所以考虑一些高复杂度的dp。 设表示前个数,有个存活的概率,
阅读全文
摘要:题面传送门 再次颠覆了我对LCA的认知。这种带容错的东西真的做不太来。 首先考虑树上两点间距离的式子 我们发现如果满足啥性质我们就可以在线段树update的地方算答案了! 实际上还真有。 考虑st表求lca的那个序,也许叫欧拉序?$
阅读全文
摘要:题面传送门 发现每个机器人只会最多有两个出口,这是好的。 又发现这个奇怪的方案数计数使得只有一个出口的机器人对于答案没有贡献,所以可以扔了。 然后这个问题被转化成了这样一个模型:有两维坐标系,你每次可以向两维分别走一步,定义个二元组,对于任意两条路径,如果存在一个二元组使
阅读全文
摘要:题面传送门 这种题到底叫啥……,给点编号传信息的题见过好几个了也不是交互也不是通信的…… 首先显然有一个记录dfs序中子树起始点和终止点的东西,最大是的。 我们发现它给了我们所有相邻点的编号,这些点的编号不仅可以判断往哪个点走,还可以提供信息。 我们发现只要给定了一个点子树的起始位置
阅读全文
摘要:题面传送门 考虑一个值能被弄出来的条件。 我们发现实际算的时候只有小的位会去凑大的位,而大的位不会跑上去凑小的位。 所以可以考虑每一个后缀,容易发现对于每个后缀来说,已经有的biscuits总和一定要大于等于中这些后缀的总和。 容易发现这是充要条件,然后就变成了每个后缀不能大于某个数的d
阅读全文
摘要:题面传送门 CF的D还出乱搞题/jy 首先这个东西看上去很黑白染色。 但是直接黑白染色是错的,因为会有奇环出现。 我们发现黑白染色其实染出来是对的。所以可以每一行,每一列都两个两个配对连边,多下来不管。容易发现因为每个环都要绕一圈且不会在一个角度上走两次所以是对的。 code: #include<b
阅读全文
摘要:题面传送门 直接对着干肯定不好干,考虑对于每一个可能的最大前缀和算贡献。 下文认为如果两个前缀和相同,前面那个更大。 发现如果一个子集所对应的前缀和要成为最大前缀和要满足一些充要条件: 枚举最后一个放后除掉的所有后缀和为正。 除掉后的所有前缀和。
阅读全文
摘要:题面传送门 感觉一道比较精妙的题目。但是我的做法好像很暴力 首先考虑确定根节点权值以后怎么做。 对于每个节点,考虑其到根的路径上的节点,可以发现只有最大值和最小值是有用的。 这个点的取值只有三种情况:左端点,右端点,最大值和最小值的中值(如果在这个区间里的话)。 等等,我们好像没有考虑对下面点的影响
阅读全文
摘要:题面传送门 看到gcd想到的应该是莫比乌斯反演。 但是这个取max而不是求和让这个莫反很难套上去。 有没有什么办法把这个max消掉呢?当然,我们可以二分,转化为计算大于等于这个值的数量。 变成这样的式子:\(\sum\limits_{i=1}^{\frac{n}{k}}{\sum\limits_{j
阅读全文
摘要:题面传送门 首先显然是在最小生成树上搞的。 可以发现,如果有这些村庄被派遣了守卫,那么被断掉的边一定是两两点对间的最大边,容易证明这只有条。 不难想到建立Kruskal重构树,然后一个额外点要选的话那么两个儿子中都有守卫。 我们将守卫看作流,那么对于每个
阅读全文
摘要:题面传送门 受到NOIP2021T3的影响容易想到差分。发现就是将差分后两个一样的东西并起来。 然后相当于是问你一直合并最后能剩下最少几个。考虑设为以结尾最后能剩下几个,直接暴力转移是的。 发现这是一个类似于倍增的结构,处理出表示向前
阅读全文