4.23 CW 模拟赛 T2. 三元组
前言
你说得对, 但是利用率
不管什么时候不要无意义的浪费一车时间干一些完全没用的事情
思路
最初考虑乘法操作没有用, 但事实上如果你需要对两个不同的数做加法, 可能可以用乘法操作优化到一次操作
于是这个问题变得复杂多了, 考虑找点性质
发现显然答案不超过 \(3\), 这么小, 于是可以考虑大力分讨
首先需要去掉的是最初就已经相同的位置
如果全部相同答案为 \(0\), 否则去掉这些位置, 如果一次操作不行答案为 \(2\), 而一次操作的判定是简单的
考虑答案为 \(1\) 显然很好搞, 分别是不动和一次乘或者一次加, 判断即可
问题就是答案为 \(2\) 的情况
考虑两次操作怎么判定
比较好想的是, 如果两次操作都涉及所有元素, 是可以直接解出来的, 因为这种情况下必然是一次加法和一次乘法
考虑部分元素的情况
考虑一定存在一个元素, 它在一次操作中被修改, 而在另一次操作中没有被修改
考虑枚举这个元素, 然后考虑这个元素在一次操作是乘还是加, 然后就可以直接解出来剩下两个元素了
这个时候需要稍微判一下是在第一次操作还是第二次操作被修改, 对应处理即可
不难发现不可能不出现一个元素在一次操作中被修改, 而在另一次操作中没有被修改
总结
什么奇怪东西

浙公网安备 33010602011771号