AT_pakencamp_2024_day1_h Buttons

题目描述

有 $N$ 个灯和 $\frac{N(N+1)}{2}$ 个按钮。对于满足 $1 \leq l \leq r \leq N$ 的所有整数对 $(l, r)$,每个 $(l, r)$ 都对应一个按钮。每个灯要么点亮,要么熄灭。 按下与 $(l, r)$ 对应的按钮时,第 $l$ 个到第 $r$ 个灯会变换状态:如果原来点亮则变为熄灭,原来熄灭则变为点亮。其他灯的状态不变。 $N$ 个灯的状态总共有 $2^N$ 种。对于每一种状态,从该状态变为所有灯全亮,所需最少按按钮次数,求这些最小次数的总和,并对 $998244353$ 取模。

输入格式

输入从标准输入中给出,格式如下: > $N$

输出格式

输出答案。

说明/提示

## 子任务 1.($50$ 分)$N \leq 10^6$ 2.($200$ 分)$N \leq 10^{18}$ 3.($150$ 分)没有额外限制。 ## 样例说明 1 例如,如果从第 $2$ 个灯亮着的状态出发,可以先按下 $(1, 4)$ 按钮,再按下 $(2, 2)$ 按钮,这样只需按 $2$ 次就能让所有灯都点亮。 无法通过一次或零次按钮操作使只有第 $2$ 个灯亮着的状态变为全亮,因此最少需要按两次按钮。 ## 样例说明 3 别忘了对 $998244353$ 取模。 # 数据范围 - $1 \leq N \leq 10^{100000}$ - 所有输入均为整数。 由 ChatGPT 5 翻译