AT_tupc2024_c.2-Power Rush

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

称正整数的多重集合为好集合,当且仅当其中所有元素都是 22 的幂。

对于一个非负整数 NN,定义 f(N)f(N) 为所有元素之和为 NN 的好集合的元素之积的总和。特别地,空集的元素和为 00,元素积为 11,因此 f(0)=1f(0)=1。

给定非负整数 T,a,bT, a, b。令 Ni=(ai+b) mod 230N_i=(a i + b)\ \mathrm{mod}\ 2^{30},请计算 ∑i=0T−1(f(Ni) mod 998244353)⊕i\displaystyle \sum_{i=0}^{T-1}(f(N_i)\ \mathrm{mod}\ 998244353)\oplus i。其中,⊕\oplus 表示按位异或(XOR)。

按位异或是这样定义的:对于非负整数 A,BA,B,A⊕BA \oplus B 的第 2k2^k 位(二进制下,第 kk 位),仅当 A,BA,B 在该位有且仅有一个为 11 时,该位为 11,否则为 00。

例如,3⊕5=63\oplus 5 = 6,因为二进制表示时 011⊕101=110011 \oplus 101 = 110。

输入格式

输入为一行,包含三个整数:

T a bT\ a\ b

输出格式

输出计算结果。

输入输出样例

  • 输入#1

    5 1 0

    输出#1

    17
  • 输入#2

    3 1000000000 1000000000

    输出#2

    1217611736

说明/提示

部分分

本题包含若干部分分。

  • 满足 T≤106, a=1, b=0T\leq 10^6,\ a=1,\ b=0 的数据集,得分为 1010 分。
  • 满足 T≤1000T\leq 1000 的数据集,得分为 1010 分。

样例解释 1

N0=0,N1=1,N2=2,N3=3,N4=4N_0=0,N_1=1,N_2=2,N_3=3,N_4=4。

  • 和为 00 的好集合只有 {}\lbrace\rbrace,f(0)=1f(0)=1。
  • 和为 11 的好集合只有 {1}\lbrace 1\rbrace,f(1)=1f(1)=1。
  • 和为 22 的好集合有 {1,1}\lbrace 1, 1\rbrace、{2}\lbrace 2\rbrace,f(2)=(1×1)+(2)=3f(2)=(1\times 1)+(2)=3。
  • 和为 33 的好集合有 {1,1,1}\lbrace 1,1,1\rbrace、{1,2}\lbrace 1,2\rbrace,f(3)=(1×1×1)+(1×2)=3f(3)=(1\times 1\times 1)+(1\times 2)=3。
  • 和为 44 的好集合有 {1,1,1,1}\lbrace 1,1,1,1\rbrace、{1,1,2}\lbrace 1,1,2\rbrace、{2,2}\lbrace 2,2\rbrace、{4}\lbrace 4\rbrace,f(4)=(1×1×1×1)+(1×1×2)+(2×2)+(4)=11f(4)=(1\times 1\times 1\times 1)+(1\times 1\times 2)+(2\times 2)+(4)=11。

因此,答案是 (1⊕0)+(1⊕1)+(3⊕2)+(3⊕3)+(11⊕4)=17(1\oplus 0)+(1\oplus 1)+(3\oplus 2)+(3\oplus 3)+(11\oplus 4)=17。

样例解释 2

N0=1000000000,N1=926258176,N2=852516352N_0=1000000000,N_1=926258176,N_2=852516352。

数据范围

  • 1≤T≤1071\leq T\leq 10^7
  • 0≤a,b<2300\leq a,b<2^{30}
  • 输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页