Codeforces Round 856 (Div. 2) 最好ak的div2

最近几场的div2 E都是一个思路啊,代码大差不差的,感觉随便ak啊。
A. Prefix and Suffix Array
题意 给你前 n − 1 n-1 n1个字符串前缀和后 n − 1 n-1 n1个字符串后缀,判断原字符串是否是回文串
思路 相同长度的判断是否是对称的即可。
代码

B

C. Scoring Subsequences
题意 数组的得分为所有数的乘积除以长度的阶乘,给你一个不下降子序列,问你 1 − i 1 - i 1i的前缀的子序列的最大得分的最长长度是多少,每个前缀输出一个整数, n < = 2 e 5 n <= 2e5 n<=2e5
思路 我们可以发现答案一定是单调不递减的,考虑长度不变,向右平移一格,答案一定不会比当前更小,然后我们考虑长度增加1是否会让答案变小。由于我们选取的子序列一定是后缀,所以我们考虑从后面选数然后判断他是否比数组长度大,即乘上的数是否大于1即可。
代码

D. Counting Factorizations
题意 给你一个大小为 2 ∗ n 2 * n 2n的数组,问你能凑出的质因子分解数组的方案数。质因子分解数组当且仅当为选了n个质数,且互不相同,从小到大排序,加上 n n n个指数凑出的数组。
思路 我们排序,统计每个数字的出现次数,然后做一次01背包+统计方案即可。
代码

E. Labeling the Tree with Distances
题意 给你一个大小为 n n n的树, 给你 n − 1 n-1 n1个标签,给 n n n个点上标签,每个点只能标签一次,然后满足存在一个点,他到周围点的距离是这些点的标签, n < = 2 e 5 n <= 2e5 n<=2e5
思路 和前几场的div2思路简直大差不差,就是考虑换根,考虑如何判断合法,我们发现少了一个标签,我们可以自行加一些数,这些数都是合法的,然后放到map里哈希,然后我们考虑对标签的数的个数哈希,然后就变成了一个哈希,然后就随便做了。
代码

猜你喜欢

转载自blog.csdn.net/qq_52358098/article/details/129350887
今日推荐