2022 Jiangsu Collegiate Programming Contest
A. PENTA KILL!
简单模拟。
B. Prime Ring Plus
大于 的素数只可能是奇数,因此相邻两个数一定是一奇一偶,容易想到二分图。
但是环上每个点有两个相邻的点,网络流求匹配是将与源汇点相连的边流量设为 即可。
C. Jump and Treasure
单次 dp 可以显然的用单调队列优化。
对于每个关都跑一遍,总点数是调和级数,可以通过。
D. Finding Pairs
能一起选的点 意义下都相同,我们按 的结果分类。
容易想到莫队,对于每个同余类,维护一个数组 表示当前左右两边有没有被选的情况的最大值。加入数是好做的,但是不能支持删除,回滚即可。
E. Playing Cards
我们把题意做转化:Alice 每次能用魔法选择 Bob 的一张牌使它的数字减去 ,或者选择自己的一张牌匹配 Bob 的一张更小的牌。要求使用魔法的次数最少。
不难想到贪心策略,当要匹配时,Alice 最大的牌一定会匹配 Bob 的最大的牌。我们每次取出 Alice 和 Bob 的最大牌,能匹配就匹配,否则就是用魔法将 Bob 的牌减去 后放回去。
注意直接维护这个过程是 的,需要使用数据结构维护。
F. Pockets
显然的生成函数。
设 ,一开始会想到将所有物品的 减去 ,但是会出现 项,它是没有意义的,所以考虑老实写式子,枚举购买次数:
很容易想到乘上 :
但是如同之前所说, 是没有意义的,我们考虑乘上 来消去分母上的 :
多项式快速幂即可。
G. GCD on Bipartite Graph
条件等价于对于任意一个质数,一定有一边它的倍数的出现次数小于 。
不妨设 ,那么显然对于所有 的质数,第一个集合中至多只能出现一次它的倍数。可以推出当 充分大的时候,任意一个质数的倍数在第一个集合中只会出现 次。
于是对于 的情况暴力搜索,其它情况在第一个集合放素数即可。
H. Super Gray Pony
这个构造方式就是格雷码,根据经典结论,,题意转化为给你一个 位二进制数,进行 次 后的结果。
显然,最后 会在 异或上 次,显然只有它为奇数才有用。也就是说有贡献的 一定是 的子集。
设 表示考虑了 的后 位的结果,如果第 位是 那么无事发生,否则可以观察到 ,bitset 即可。
I. Cutting Suffix
有两个字母不同,可以构造方案使得答案为 。否则所有字母都相同,答案显然为 。
J. Balanced Tree
设 表示大小为 的 super balanced tree 的个数,如果 是奇数,则 ,否则 。
发现 一定是 的次幂,考虑求出指数。设 表示从下往上考虑到第 位,第 位为 ,下面是否有借位的次幂个数,dp 即可。
K. aaaaaaaaaaA heH heH nuN
简单构造。
L.Collecting Diamonds
显然可以按中间的 B 讲串分成若干组,每组形如 AAABCCC。
我们发现,只有删除 B 的操作会影响后面的奇偶性。所以我们尽量让每个组都删除一次 B,并在删除 B 之前删除尽可能多的 AC。
策略是显然的:先从后往前删去一次能删的 AC 数大于 的组。然后从前往后扫,记录在前面删了几次 B 即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App