P12409 嗦面

· · 题解

观察可以发现 l_i=7,11,13 的不可能执行操作,所以询问 d,e,f 时可以直接判断。

对于 5 的指数,显然只能通过操作 10 来控制。

最后的问题就会变成判断 2^a\times3^b 能否达到(这里的 a 与数据给出的 a 不相同,因为操作 10 会改变这里的指数)。

手玩一下 $2,4,8$ 可以发现它们可以对 $2$ 的指数的贡献分别为 $0\sim1,0\sim2,0\sim4$,所以 $2$ 的指数我们可以通过 $2,4,8$ 任意更改到一个指定范围。 最难的应该就是 $6,12$ 了。 对于相同的 $b$,$2$ 的指数是一段连续的值。求出 $2$ 的指数范围即可。 大概求法:先把全部数拆成 $3$,然后合并。能合并成 $6$ 就先合并成 $6$,否则合并成 $12$。容易发现这是最高指数。最低指数只需在此基础上更改,就是三个 $6$ 换成 $3,3,12$。 时间复杂度 $O(n+m)$。