#1013. R - 三元组(Triples)
R - 三元组(Triples)
题目描述
对于非负整数 ,记
表示
其中 表示按位或。
若一个非负整数三元组序列
$$((u_1,v_1,w_1),(u_2,v_2,w_2),\ldots,(u_k,v_k,w_k))$$满足以下条件,则称其为好序列:
- ;
- 对每个 ,都有
给定三元组序列
$$A=((x_1,y_1,z_1),(x_2,y_2,z_2),\ldots,(x_N,y_N,z_N)),$$并保证对每个 都有 。
从 中按原顺序选取至少两个位置可以得到 个非空的长度至少为 的子序列;选取位置不同的子序列视为不同。求其中好序列的数量,对 取模。
限制条件
- 所有输入均为整数。
部分分
- 对所有 都满足 的数据求解正确,可获得 分。
输入
N
x_1 y_1 z_1
x_2 y_2 z_2
...
x_N y_N z_N
输出
输出 的长度至少为 的子序列中,好序列的数量对 取模后的结果。
样例输入 1
3
2 6 3
0 7 4
1 5 2
样例输出 1
2
满足条件的序列为:
样例输入 2
8
0 9 5
0 16 3
0 8 4
0 5 23
0 20 29
0 12 26
0 6 0
0 19 8
样例输出 2
9
样例输入 3
13
0 16777215 14827221
8390656 12582911 5535137
4325888 16711679 2641072
8849409 16776703 15212885
8389632 16514814 9612654
0 12517373 13419138
0 16777215 5271292
14464 16236535 6997452
131072 15727483 10218943
16 16646111 15524257
1181961 14647295 5595336
8388768 16775147 5472548
0 16777215 297940
样例输出 3
34