异或
题目描述 给定一个长度为 𝑛𝑛 的序列 𝑎𝑎[1 … 𝑛𝑛],定义函数 𝑓𝑓(𝑏𝑏[1 … 𝑚𝑚]) 的值为在[0, 𝑚𝑚 − 1]内满 足如下条件的𝑖𝑖的数目:𝑏𝑏中前𝑖𝑖个数异或起来的值小于𝑏𝑏中前𝑖𝑖 + 1个数异或起来的值。
对于 𝑎𝑎[1 … 𝑛𝑛] 的每个子序列 𝑏𝑏[1 … 𝑚𝑚],求𝑓𝑓(𝑏𝑏[1 … 𝑚𝑚])之和,答案对998244353取 模。
输入格式 第一行一个正整数 𝑛𝑛。
接下来一行,共𝑛𝑛个整数𝑎𝑎1 , 𝑎𝑎2 , … , 𝑎𝑎𝑛𝑛 。
输出格式 一个整数表示答案。
样例输入 1 5 1 2 3 4 5
样例输出 1 64
样例输入输出 2 见下发文件。
数据规模 共 10 个测试点。
测试点1,2满足𝑛𝑛 ≤ 20。
测试点3,4满足𝑛𝑛 ≤ 1000。
测试点5,6满足𝑎𝑎𝑖𝑖 ≤ 28 − 1。
对于所有数据,满足1 ≤ 𝑛𝑛 ≤ 105 , 0 ≤ 𝑎𝑎𝑖𝑖 ≤ 230 − 1。