【清华集训2014】玛里苟斯

看到这道题,然后便联想到了数位DP什么的……接着发现了答案在一个界内,然后就想着暴力了。

首先如果对每一位都设一个变量的话,根据插板法,最多只能有1e7个项对答案有贡献,和答案在一个界内这个条件组合起来,这启发我们去想暴力。

首先非基变量是没有用的,考虑它们的选和不选,最后都要除掉。

所以只有基变量有贡献。

显然基变量越多跑的越慢,这个时候设基变量有 \(b\) 个,很明显可以得到答案的一个粗略的下界

\[ \frac{\sum_{i=0}^{2^{b-1}} i^k}{2^{b-1}} \]

首先上面是一个自然幂数前缀和,显然是一个 \(k+1\) 项的多项式,忽略常数带来的影响,除掉分母,令 \(x = 2^b\),可得

\[x ^ k \le 2^{63} \]

也就是说,$ b \leq \log_2 \sqrt[k]{2^{63}} $,易得 \(k \geq 3\) 的时候是可以暴力枚举基的。

那么只剩下 \(k = 1\)\(2\) 了。

考虑 \(k = 1\),只要按位考虑贡献即可。

考虑 \(k = 2\),对于平方,只是同一种方案对每两个位的值进行乘积后求和。所以需要同时考虑两位,分别考虑这两位是 \(0\) 还是 \(1\),然后再考虑解数。

所以还是一道简单题。

但是我还没写……写了就补上代码,顺便哪里说错了会改

猜你喜欢

转载自www.cnblogs.com/daklqw/p/11515486.html