【GDOI2018 Day1】密码锁
Description
Input
Output
Sample Input
Sample Input1
4 3
1 2 1 0
Sample Input2
11 8
1 2 3 4 5 0 5 4 3 2 1
Sample Input3
20 100
30 91 15 72 61 41 10 37 98 41 94 80 26 96 10 88 59 5 84 14
Sample Output
Sample Output1
2
Sample Output2
8
Sample Output3
313
Data Constraint
题解
考场这题我打了100行的暴力,记忆化搜索加剪枝 (鬼知道我怎么做得到的)
这题乍一看似乎没什么思路,但我们换个方向来想,如果把 n n n个数在模 m m m的意义下差分一下(再最后补一个 a [ n + 1 ] a[n+1] a[n+1]与 a [ n ] a[n] a[n])差分,那么如果我们想要把 a a a数组全部变成0,也就相当于把差分数组(假设是 c f [ i ] cf[i] cf[i])全部变成0
然后我们又知道,在差分数组修改一段区间 [ l , r ] [l,r] [l,r]时(假设是加1),是将 c f [ l ] + 1 , c f