U379641 少女,台阶与一切的开始
题目背景
Ilija ($[Iliya]$)正在乡间小路上漫步。
少女轻盈的身体在台阶上跃动,与精致的台阶相映衬。优美的舞姿引人注目,就如同不属于这个世界一样,吸引着不远处另外一个少女的视线。
“为什么......”另一个少女喃喃自语道。
这是她们故事的开始。
题目描述
你认为 Nakira 是在心算 Ilija 舞步的「优雅值」,于是决定帮帮她。
Ilija 一共跳过了 $n$ 块台阶,第 $i$ 步带来的优雅值为 台阶本身的优雅值 $i^i$ 和 Ilija 舞姿的优雅值 $k$ 的和。但是 $n$ 步舞步之间的优雅值可不是简单地累加起来。舞步之间复杂的配合可以用编程世界的「异或」来表示,也就是说 $n$ 步舞步总的优雅值为每一步的优雅值的异或和。
即给定两个数字 $n,k$,求出 $\bigoplus \limits _{i=1} ^n (i^i + k)$,其中 $\bigoplus$ 表示异或和。也即求出 $(1^1+k) \oplus (2^2 + k) \oplus \ldots \oplus (n^n + k)$。
**每一步的**答案($i^i + k$)对 $998244353$ 取模。
输入格式
一行两个整数,分别表示上文中的 $n,k$。
输出格式
一行一个数字,表示(每一步的答案)对 $998244353$ 取模之后的答案。
说明/提示
数据范围如下:
| 数据点编号 | $n \le$ |
| :----------: | :----------: |
| $1 \sim 2$ | $2 \times 10^4$ |
| $3 \sim 5$ | $1 \times 10^6$ |
| $6 \sim 20$ | $2 \times 10^7$ |
对于所有数据,满足 $k \le 10^9$
请相信自己的常数和洛谷的评测姬。也许有办法能把暴力卡过去吧,咱不知道。
忘记给一档 $k = 0$ 的部分分了,可以想下怎么拿。(不过这种个人题目真的会有人想部分分吗?)
附件是 std,数据生成器,数据。