AT_arc205_e.[ARC205E] Subset Product Problem

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的非负整数序列 a1,a2,…,ana_1,a_2,\dots,a_n。对于所有 1≤k≤n1\le k\le n,求解下面的问题:

  • 对于所有 1≤i≤k1\le i\le k,求出满足 ai∨ak=aka_i\lor a_k=a_k 的所有 aia_i 的乘积。这里 ∨\lor 代表按位或运算。由于答案可能很大,只需要输出答案对 998244353998244353 取模的值。

输入格式

第一行输入 nn(1≤n≤4×1051\le n\le4\times10^5)。

第二行输入 nn 个非负整数 a1,a2,…,ana_1,a_2,\dots,a_n(0≤ai<2200\le a_i<2^{20})。

输出格式

nn 行,第 ii 行的数表示 k=ik=i 时的答案对 998244353998244353 取模的值。

输入输出样例

  • 输入#1

    4
    1 2 3 5

    输出#1

    1
    2
    6
    5
  • 输入#2

    9
    3 1 4 1 5 9 2 6 5

    输出#2

    3
    1
    4
    1
    20
    9
    2
    48
    100
  • 输入#3

    12
    437926 528156 284664 1038330 692060 720863 602077 1027766 868190 532252 982711 876446

    输出#3

    437926
    528156
    284664
    94842632
    158208162
    985930968
    548875758
    875494466
    345599613
    605424119
    111381243
    768586512

说明/提示

对样例 11 的说明:

  • 当 k=1k=1:对于 i=1i=1 来说,aia_i 和 aka_k 的位运算 or\mathrm{or} 是 11。因此,情况 k=1k=1 的答案是 a1=1a_1=1。
  • 当 k=2k=2:对于 i=1,2i=1,2,aia_i 和 aka_k 的位运算 or\mathrm{or} 分别是 3,23,2。因此,情况 k=2k=2 的答案是 a2=2a_2=2。
  • 当 k=3k=3:对于 i=1,2,3i=1,2,3,aia_i 和 aka_k 的位运算 or\mathrm{or} 都是 33。因此,情况 k=3k=3 的答案是 a1×a2×a3=6a_1\times a_2\times a_3=6。
  • 当 k=4k=4:对于 i=1,2,3,4i=1,2,3,4,aia_i 和 aka_k 的位运算 or\mathrm{or} 分别是 5,7,7,55,7,7,5。因此,k=4k=4 的答案是 a1×a4=5a_1\times a_4=5。

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

首页