P13631 [NWRRC 2021] Day Streak
不是使用 hint 自动机把我创飞了.
首先原本是想相邻两个数如果想要除完之后相同或者连续则 \(t\) 必定是一段区间,然后后面不知道干啥.
正确解法是发现 \(0 \le t < m\) 时那么 \(\frac{a_i + t}{m}\) 最多只会有两种值,我们使用线段树维护全局答案,那么每次 \(t + 1\),总共均摊只会有 \(O(n)\) 个位置上的值需要进行修改,于是做完了.
不是使用 hint 自动机把我创飞了.
首先原本是想相邻两个数如果想要除完之后相同或者连续则 \(t\) 必定是一段区间,然后后面不知道干啥.
正确解法是发现 \(0 \le t < m\) 时那么 \(\frac{a_i + t}{m}\) 最多只会有两种值,我们使用线段树维护全局答案,那么每次 \(t + 1\),总共均摊只会有 \(O(n)\) 个位置上的值需要进行修改,于是做完了.