如何将杂题1转化为?
摘要:$text{[AGC034C] Tests}$ 很容想到二分答案和 $c_i$ 比较固定的选取方法 然后就不会了。。。 接下来就是要发现性质的时候 固定答案时,若此时已有了一组 $a$,考虑对于 $0<a_i,a_j
\(\text{[AGC034C] Tests}\)
很容想到二分答案和 \(c_i\) 比较固定的选取方法
然后就不会了。。。
接下来就是要发现性质的时候
固定答案时,若此时已有了一组 \(a\),考虑对于 \(0<a_i,a_j<X\) 的 \(a_i,a_j\) 加减 \(1\)
发现给 \(c\) 值大的 \(+1\),小的 \(-1\),新方案必然不劣
于是可以得到 \(a_i\) 是一堆 \(0,X\) 和一个 \(r(0<r<X)\),这个 \(r\) 的位置可以枚举
那么按 \(calc(i,X)-calc(i,0)\) 排序后就可以二分 \(O(n) \text{ check}\) 了
提交记录
\(\text{[AGC001C] Shorten Diameter}\)
从最终状态考虑,找到最终状态的中心
那么从中心出发路径长度不超过 \(\frac k 2\)
直接枚举中心,\(dfs\) 把多余的删去即可,注意分 \(k\) 的奇偶
\(\text{[AGC003D] Anticube}\)
每个数改为对其质因数分解后的指数模 \(3\)之后的数,那么一个数只能与另一个可确定的数相乘为完全立方数
于是讨论每对数即可
注意到分解后大于等于 \(\sqrt[3]{x}\) 的因数最多有两个,所以分解时只需枚举到 \(\sqrt[3]{x}\)
\(\text{P2714}\) 四元组统计
不得不说莫反反傻了,容斥即可
记 \(g(i)\) 为四元组 \(\gcd\) 为 \(i\) 的倍数的方案数,\(f(i)\) 则是恰好为 \(i\) 的方案数
那么 \(f(i)=g(i)-\sum_{i|j}f(j)\),于是从大到小算 \(f\) 即可
\(\text{CF853C Boredom}\)
矩阵有交比较难处理,那么容斥
发现就是要算八处而已,上下左右可以直接算,四个角落二维数点即可
为简化代码,可以四次翻转矩形
\(\text{[AGC003C] BBuBBBlesort!}\)
发现使用操作二可以对奇数位和偶数位免费排序,但不能改变一个数所在位置的奇偶
所以离散化后等价于求用操作一将奇数放到奇数位,偶数放到偶数位的最小次数
一次明智的操作一显然是让两个不在正确奇偶位的奇偶数归位
那么统计每个数与当前位置奇偶性不同的数量除以二即可
\(\text{[AGC010C] Cleaning}\)
想象乱七八糟的路径情况。。。
