Leveling Ground(数论,三分法,堆) 给定n个数和a,b每次可以选择一段区间+a,-a,+b或-b,问最少操作几次能把他们都变成0.n<=1e5. 首先差分一下序列,问题就会变成了:每次选择两个数,一个+a另一个-a,或一个+b另一个-b,问最少操作几次能把序列变成全0.若不能操作则输出-1. 既然只能+-a或b,那么必须\(A_i=ax_i+by_i\).由于\(gcd(a, b)|ax+by\),因此若\((a,b)\nmid A_i\)就输出-1. 操作的次数是\(\frac…