CF2029

A

题意

给定整数 l,r,k,定义 S 表示 [l,r] 内的所有整数,一次操作形如:

  • S 中选取一个数字 x,满足 S 中至少有 kx 的倍数;
  • S 中删除 x

求可以进行的最大操作次数。

分析

S 中的一个整数 x 可以操作当且仅当 k×xr,即 xrk

于是合法的区间即为 [l,rk],注意区间长度不能为负。

B

题意

给一个长度为 n01s,一个长度为 n101r

希望对 s 执行 n1 次操作。一次操作定义为:

  • 选择一个索引 k 满足 sksk+1。若无法选择这样的索引,则操作失败;
  • sksk+1 替换为 ri

判断是否可能成功进行 n1 次操作。

分析

注意到,一个状态存在可操作的位置 k 当且仅当序列不全为 0 或全为 1,而一次 ri=0 的操作等价于去除了序列中一个 1 位置,反之亦然。

那可以维护当前 s01 的数量,模拟操作即可。若一次操作前 0 的数量为 01 的数量为 0 即可判定无解。

C

题意

Kevin 在打 CF 比赛,他的 rating 初始为 0。给出他 n 场比赛每场的表现分,若当前 rating 低于本场表现分则 rating 增加一,高于则减少一,等于则不变。Kevin 可以屏蔽一段区间的比赛(区间长度至少为 1),问最优情况下 Kevin 的最终 rating。

分析

我们可以通过模拟得到只考虑前 i 场的 rating。然后考虑用一段后缀拼上一段前缀。

然后发现后缀不是很好递推处理,于是我们可以二分一个答案即最终位置的 rating,然后往前递推。由于是倒着推,遇到更小的表现分 rating 加一,遇到更大的表现分 rating 减一。相等的情况我们可以考虑一个贪心:我们希望前缀某个位置出现与当前 rating 相等直接屏蔽中间的区间,而由于 rating 更低的位置一定出现得更早,那我们一定会选择将 rating 减一。

rating 接近 0 的时候有一些细节要特判。

D

题意

给一个 n 个点 m 条边的无向图,定义一次操作为:

  • 选三个两两不同的顶点 a,b,c,考虑边 (a,b),(a,c),(b,c),若该边存在则删除,若该边不存在则加入;

定义好图为满足下列之一的图:

  • 没有边的图;
  • 树。

最多可以进行 2×max{n,m} 次操作,构造方案将原图变为好图。

分析

注意到操作次数的上界很有特点,这可能提示我们操作分为两步。

考虑先把图变为较为稀疏的图。我们对每个度数不小于 2 的点 x,都对这个点和它的相邻节点进行一次操作。若相邻节点之间有连边,则操作删除了一个三元环的所有边;否则操作相当于将两个相邻节点连起来并断开 x 与这两个节点的连边。

第一步后,原图转化为两类连通块:孤立点和两个点相连。如果不存在边那就做完了。

如果还有边我们就尝试将原图连成一棵树。选取当前已经连成一棵树的一个连通块为基础,将其他连通块合并到其中。若新的连通块是一个孤立点,选取其中的一个叶子和与它相连的一个点与之操作;若新的连通块是相连的两个点,选取一个叶子与之操作。不难验证操作的正确性。

由于需要动态维护边,使用 set 维护与一个节点相邻的点。

E

题意

定义对 x 的一次操作为:

  • 选择 x 的一个因数 d (d2),xx+d

xy 的生成器当且仅当 x 能通过若干次操作变成 y

给一个数组 a 满足 ai2,找到一个整数 x2,使得每个 1in 中的 x 都是 ai 的生成器,或者报告这样的整数不存在。

分析

手玩一下发现几个性质:

  • 任何质数都无法从其他数操作得来;
  • 2 是任何非质数的生成器。

对于性质二有一个简单的说明:偶数只需每次 xx+2,非质数奇数可以先减掉最小质因子 d,此时原数化归为偶数情况。

于是大体思路如下:

  • 有两个或以上质数直接无解;
  • 一个质数的答案要么是这个质数,要么无解;
  • 没有质数的答案是 2

那我们只要快速判定一个数 x 是否可以被另一个质数 p 生成出来即可。

对于一个偶数 x,可以被 p 生成的充要条件是 xp×2。显然可以构造出 pp×2pp+2 的方案以说明。

对于一个奇数 x,可以被 p 生成的充要条件是 xd(x)p×2,同样可以构造出 pp×2pp+2pp+d(p) 的方案。

处理质数和一个数的最小质因子可以同时用线性筛预处理。

F

题意

给一个环,环上的边黑白染色,判断环上任意两个顶点之间的(非简单)路径是否可以是回文。

分析

如果你没有手玩过样例,不要说你想了一个题。

手玩样例得到结论,一个环合法当且仅当满足下列之一:

  • 同色段的长度不少于 n1
  • 只有一个同色段的长度等于二,其余均为 1

手玩的过程不知道咋写,就不投题解了。

作者:tai-chi

出处:https://www.cnblogs.com/tai-chi/p/18538159

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   tai_chi  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示