vp 的一场比赛,打得还行,有点慢。
注意:前两道题的特色是答案需要 \(\times 2022\) 输出。
A. Joey Takes Money
简单题,一定是 \(n-1\) 个 \(1\) 和一个 \(\displaystyle\prod_{i=1}^na_i\),答案为 \(\displaystyle\prod_{i=1}^na_i+n-1\)。时间复杂度 \(\mathcal{O}(Tn)\)。代码。
B. Kill Demodogs
简单题,很明显应该靠着对角线走最优,具体就是小学学过的 和一定,差小积大,具体来说,答案为 \(\displaystyle\sum_{i=1}^ni^2+\sum_{i=1}^{n-1}i(i+1)\)。\(n\) 很大,不能直接枚举,要把它写成 \(\frac{n(n+1)(2n+1)}{6}+\frac{(n-1)n(n+1)}{3}\) 的形式。时间复杂度 \(\mathcal{O}(T)\)。代码
C. Even Subarrays
主观感觉比 D 难。显然因子数目为偶数等价于不是完全平方数。正难则反,考虑什么情况是完全平方数。暴力枚举,用异或差的方式求出另一半即可。时间复杂度 \(\mathcal{O}(Tn)\),自带 \(2^9\) 的常数。代码。
D. Valiant's New Map
简单题,二分用二维前缀和搞一下就行了。时间复杂度 \(\mathcal{O}(Tnm\log n)\)。代码。
后面的先咕着,有时间来补。
标签:代码,Divide,841,复杂度,Codeforces,2022,mathcal,displaystyle From: https://www.cnblogs.com/Jerry-Jiang/p/CF1731.html