刷题
文章平均质量分 64
orac_why
这个作者很懒,什么都没留下…
展开
-
CF1330B题解
题意: 给定一个长为 nnn 序列 aaa ,问是否能分成两个排列,并输出方案 思路: 观察数据范围可以猜出,这题 O(n)O(n)O(n) 能解决; 因为两个排列是不重叠的,所以可以考虑枚举分割点,即用 lil_ili 表示 前 iii 个数是否能形成一个排列,rir_iri 表示后 iii 个数是否能形成排列,当 lil_ili 与 ri+1r_{i+1}ri+1 同时为真的时候可行,输出 iii 和 n−in-in−i 即可; 此题还有一个重要的难题,就是如何判断是一个排列: 比如判断前 ii原创 2021-07-25 12:09:04 · 53 阅读 · 0 评论 -
CF832B题解
此题作为一道相当复杂的字符串模拟题,让我这个蒟蒻肝了一上午。 题意: 给定一些好的字符,和一个包含了至多一个可以替换成空字符或非好字符组成的字符串的 " ∗*∗ " 字符与可以替换为好字符的 " ??? " 字符的字符串 sss ,给出 nnn 次询问,每次有一个只包含小写字母的字符串 ttt ,问 ttt 是否能由 sss 转换过来 思路: 分别考虑处理 " ??? " 和 " ∗*∗ " 字符的方法。 " ??? " 处理比较方便,在 ∣s∣=∣t∣|s|=|t|∣s∣=∣t∣ 时可以预处理字符串 ss原创 2021-07-25 12:08:09 · 81 阅读 · 0 评论 -
CF1025B 题解
其他的几篇题解大多都是先求了 ci←lcm(ai,bi)c_i \gets lcm(a_i,b_i)ci←lcm(ai,bi) ,然后求全部 cic_ici 的最大公约数,但是对每一组数都求一下 lcm(ai,bi)lcm(a_i,b_i)lcm(ai,bi) 会增加时间复杂度,所以直接把 aia_iai ,bib_ibi 乘起来就行,不妨记录 ci←(ai∗bi)c_i \gets (a_i * b_i)ci←(ai∗bi) 最后再求所以 cic_ici 的最大公约数,求所以 c原创 2021-07-25 12:07:10 · 51 阅读 · 0 评论