AT_arc221_b [ARC221B] Two-Powered Sum
题目描述
给定一个正整数 $N$ 和一个素数 $P$。
有一个长度为 $N$ 的序列 $A=(A_1,A_2,\ldots,A_N)$,其中所有元素初始均为 $0$。
你可以重复以下操作任意次(也可以一次都不做):
- 选择 $\lbrace 1,2,\ldots,N\rbrace$ 的一个非空子集 $S$。令 $x=\sum_{i\in S}2^{i-1}$。对于每个 $i\in S$,将 $A_i$ 替换为 $x$。
请你计算,经过任意次操作后,可能得到的序列 $A$ 的方案数,结果对 $P$ 取模。
输入格式
输入通过标准输入按如下格式给出:
> $N$ $P$
输出格式
输出答案。
说明/提示
### 样例解释 1
可能的序列 $A$ 有 $(0),(1)$,共有两种可能。
### 样例解释 2
可能的序列 $A$ 有 $(0,0),(0,2),(1,0),(1,2),(1,3),(3,2),(3,3)$,共有七种可能。
### 数据范围
- $1\leq N\leq 700$
- $P$ 是满足 $10^8\lt P\lt 10^9$ 的素数。
- 所有输入均为整数。
由 ChatGPT 5 翻译