CCPC 2024 女赛 做题记录
Lacrymabre · · 个人记录
A. 盒子
给你一个长方体,若干组询问给定某个点是否在长方体内。
我一开始认为要做
C.CCPC
给定字符串,任意重排它。求最多的
\text{CCPC} 子串的个数。
一开始没注意前后两个
F.完全平方数
给你
\{a_n\} ,你需要得到\{d_n\} ,满足后者每一项都是前者对应项的因子,且后者每一项乘起来都是完全平方数。求所有的后者的乘积的开方和。n,a_i\leq10^6 。
考虑到每一个质因子的贡献都是独立的,可以考虑拆开来算。
计算每个质因子在某一位有几个,一共有几个。那么就可以做一个 dp 。
摸一下,可以感悟出:规定
可以拆位,有
每个高位的物品可以换取所有低位的物品,那么对每个
非常神异的是到目前全队都没写出来(队友对我转化题意表示疑惑,目测不是同一个思路),不知道我的思路对了没有。
H. 平方根
给你一个 01 串,它的价值是每一段连续 1 的个数开根号求和,你可以把任意的 1 变成 0 ,求你能得到的最大价值。
n\leq10^6 。
对
I.字符串复制
一个长度为
n 的字符串,复制最开始的字符串m 次得到新字符串,求新串本质不同子串数量。n\leq5\times 10^3,m\leq10^9 ,要求\mod 998244353 。
容易发现,第
J. 最大公因数的平方和
给你排列 a,b ,多次询问
\displaystyle \sum_{i=l}^r\sum_{j=L}^R \gcd(a_i,b_j)^2 \mod 2^{32}
简单莫反一下,得到那个式子的基本单位就是
M. 覆盖一棵树
给定一个
n 个节点的树,你可以使用若干个长度任意的线段覆盖树的所有边,要求: 每条边恰好被覆盖一次, 每个线段必须从叶子节点开始,到它的一个祖先节点。求最长覆盖边的最小值。
n\leq2\times10^5
每次从最浅的叶子开始尽量长的往上面覆盖,直到不能覆盖为止就行了。