CF1879D.Sum of XOR Functions
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of length n consisting of non-negative integers.
You have to calculate the value of ∑l=1n∑r=lnf(l,r)⋅(r−l+1), where f(l,r) is al⊕al+1⊕⋯⊕ar−1⊕ar (the character ⊕ denotes bitwise XOR).
Since the answer can be very large, print it modulo 998244353.
给你一个长度为 n 的非负整数数组 a。
你需要计算 ∑l=1n∑r=lnf(l,r)⋅(r−l+1) 的值,其中 f(l,r) 表示 al⊕al+1⊕⋯⊕ar−1⊕ar(符号 ⊕ 表示按位异或运算)。
由于答案可能非常大,请将结果对 998244353 取模后输出。
输入格式
The first line contains one integer n (1≤n≤3⋅105) — the length of the array a.
The second line contains n integers a1,a2,…,an (0≤ai≤109).
第一行包含一个整数 n(1≤n≤3⋅105)—— 数组 a 的长度。
第二行包含 n 个整数 a1,a2,…,an(0≤ai≤109)。
输出格式
Print the one integer — the value of ∑l=1n∑r=lnf(l,r)⋅(r−l+1), taken modulo 998244353.
输出一个整数——即 ∑l=1n∑r=lnf(l,r)⋅(r−l+1) 的值对 998244353 取模的结果。
输入输出样例
输入#1
3 1 3 2
输出#1
12
输入#2
4 39 68 31 80
输出#2
1337
输入#3
7 313539461 779847196 221612534 488613315 633203958 394620685 761188160
输出#3
257421502
说明/提示
In the first example, the answer is equal to $f(1, 1) + 2 \cdot f(1, 2) + 3 \cdot f(1, 3) + f(2, 2) + 2 \cdot f(2, 3) + f(3, 3) = $ =1+2⋅2+3⋅0+3+2⋅1+2=12.
在第一个例子中,答案等于 $f(1, 1) + 2 \cdot f(1, 2) + 3 \cdot f(1, 3) + f(2, 2) + 2 \cdot f(2, 3) + f(3, 3) = $ =1+2⋅2+3⋅0+3+2⋅1+2=12。
输入解题思路,AI测评打分。不知道怎么写?