A. Integer Diversity
直接用个map贪心,如果有相同的就反向即可。
B. Mirror in the String
这道题洛谷的翻译锅了,所以建议去看原题。
考虑这样一个字符串 baacc
,那么答案显然应该是 baaaab
。那么我们可以猜答案就是一段前缀不升的字符串。那证明是显然的,但是还漏考虑了一种情况。就是前两个字符相同的时候,直接取第一个字符即可。复杂度线性。
C. Representative Edges
\(a_1+a_2=a_1+a_2\),\(\frac{3}{2}(a_1+a_3)=a_1+a_2+a_3\),两式作差,可得 \(a_2-a_1=a_3-a_2\)。也就是说这是个等差序列(其实这不就是等差数列的求和公式吗)。那么直接枚举两个位置不动,剩下的位置的值也就可以算出来了。
D. Keep the Average High
直接暴力dp,用平衡树优化,复杂度线性对数。
E. Lexicographically Small Enough
直接找到第一个比这个位置小的,然后移过来,或者找到第一个和这个位置相同的之后变成子问题。
这个东西也可以用平衡树维护,复杂度也是线性对数。
F. Tricolor Triangles
这个好像没什么构造方法,直接列方程,由于三元环是 \(O(m^{1.5})\) 的,所以直接暴力高斯消元即可。然后由于这个矩阵贼稀疏,所以直接跑好像一点问题都没有。复杂度 \(O(m^{4.5})\)。其实复杂度没有这么高,只有 \(m^{4}\)。
可以bitset优化,但是vp的时候懒得仔细想了。
标签:Contest,1616,复杂度,Codeforces,线性,直接 From: https://www.cnblogs.com/zcr-blog/p/17028852.html