#1008. M - 数值(Numeral)
M - 数值(Numeral)
题目描述
给定一个长度为 的字符串 ,其中每个字符都是 1 到 9 之间的数字。
对于每个满足 的非负整数 ,按以下方式定义 :
- 枚举所有满足 的非负整数 ,并按升序排列为 。其中 表示按位或。
- 按顺序取出 的第 个字符,拼接成字符串 。
- 将 看作一个十进制整数,记其值为 ,并定义
计算所有 ,并输出
$$\sum_{n=0}^{2^N-1}\left(f(n)\mathbin{\mathrm{XOR}}n\right),$$其中 表示按位异或。最终的求和结果不需要取模。
限制条件
- 是长度为 、仅由字符
1到9组成的字符串。
输入
N
S
输出
输出
$$\sum_{n=0}^{2^N-1}\left(f(n)\mathbin{\mathrm{XOR}}n\right).$$样例输入 1
2
1234
样例输出 1
1262
各个 对应的值为:
- ;
- ;
- ;
- 。
因此
$$(1\mathbin{\mathrm{XOR}}0)+(12\mathbin{\mathrm{XOR}}1) +(13\mathbin{\mathrm{XOR}}2)+(1234\mathbin{\mathrm{XOR}}3) =1+13+15+1233=1262.$$样例输入 2
4
6415986517946482
样例输出 2
790534415