题库练习 Varying Kibibits
← 上一题 下一题 →

A10805 | Varying Kibibits

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given $n$ integers $a_{1},a_{2},...,a_{n}$ . Denote this list of integers as $T$ .

Let $f(L)$ be a function that takes in a non-empty list of integers $L$ .

The function will output another integer as follows:

- First, all integers in $L$ are padded with leading zeros so they are all the same length as the maximum length number in $L$ .
- We will construct a string where the $i$ -th character is the minimum of the $i$ -th character in padded input numbers.
- The output is the number representing the string interpreted in base 10.

For example $f(10,9)=0$ , $f(123,321)=121$ , $f(530,932,81)=30$ .

Define the function

![](/uploads/luogu/CF772D/d730bfc2d6a92400175f0319f4f66324ea578631_96dea29e19e9.png) Here, ![](/uploads/acgo/image/6784aae65c7f0d73_b232814753e1.jpeg) denotes a subsequence.In other words, $G(x)$ is the sum of squares of sum of elements of nonempty subsequences of $T$ that evaluate to $x$ when plugged into $f$ modulo $1000000007$ , then multiplied by $x$ . The last multiplication is not modded.

You would like to compute $G(0),G(1),...,G(999999)$ . To reduce the output size, print the value ![](/uploads/luogu/CF772D/8f5e81fbdf6da04693b872f68826db1077fb8afc_afd1c7cfa5ca.png), where ![](/uploads/acgo/image/0360fd88187a7905_2940acc4a37e.jpeg) denotes the bitwise XOR operator.

输入格式

The first line contains the integer $n$ ( $1<=n<=1000000$ ) — the size of list $T$ .

The next line contains $n$ space-separated integers, $a_{1},a_{2},...,a_{n}$ ( $0<=a_{i}<=999999$ ) — the elements of the list.

输出格式

Output a single integer, the answer to the problem.

输入输出样例

输入 #1
3
123 321 555
输出 #1
292711924
输入 #2
1
999999
输出 #2
997992010006992
输入 #3
10
1 1 1 1 1 1 1 1 1 1
输出 #3
28160
C++ 编辑器
输入
输出