标签:组合 简单题 math 一个 没有 数位 根据 class 就是
看到这道题,然后便联想到了数位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\),然后再考虑解数。
所以还是一道简单题。
但是我还没写……写了就补上代码,顺便哪里说错了会改
标签:组合 简单题 math 一个 没有 数位 根据 class 就是
原文地址:https://www.cnblogs.com/daklqw/p/11515486.html