众嗦粥汁,如果按题意暴力模拟(即记录所有出现的数,没出现的更新为0)的话,肯定会超时。
但是,STL 有一个神级卡常数据结构:bitset!如果对整个 bitset 进行位运算的话,时间复杂度可以除一个 www。至于这个数是多少得看评测机位数。显然ACGO评测机是 646464 位的,所以 w=64w=64w=64。
我们惊奇的发现:这样子暴力竟然能过!甚至更新 bitset 比输入还快。
时间复杂度:O(nm+n×aiw)O(nm+\frac{n\times a_i}{w})O(nm+wn×ai )。