魔法传送门 (magic.cpp)
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
在一个神秘的魔法大陆上,存在着座闪耀的城市,它们如同星辰般点缀在大地之上,分别以作为其独特的标识。
大陆的魔法师们怀着对二进制魔法的钟爱,赋予每座城市一个独特的魔法数字。第座城市的魔法数字由神秘的数字决定。根据一种古老的魔法规则,对于任意两座城市,从城市通往城市的传送门数量由决定。
现在,魔法师们希望探寻从城市出发前往城市的所有可能路径的数量。然而,这个数字可能会因为路径的复杂度而变得庞大。为了简化问题,你需要计算答案对 取模后的结果。
这个神秘的函数表示的二进制表示中的个数,例如:
符号代表二进制与运算,它的规则是:只有当两个数的对应位都为时,结果才为;否则结果为。换言之,当某个位上的数都是时,结果位也为;否则结果位为。
10101010
& 11110000
-----------
10100000
输入格式
第一行输入一个正整数 ,表示数据组数。
对于每一组数据,第一行输入一个正整数 ,表示城市数。
第二行输入 个正整数 。
输出格式
对于每一组数据,输出一行一个整数,表示从城市 到城市 的路径数,对 取余数之后的结果。
3
4
2 3 3 1
5
1 1 1 1 2
10
213672 382909 212809 216719 213980 121009 213899 220021 289002 120390
4
0
12433985
一共有 条路径:
对于第二组数据, 号城市都与城市 没有单向道路,所以路径数是 。
数据范围与约定
-
对于 20% 的数据,
-
对于 50% 的数据,
-
对于 100% 的数据,$1\le N \le 2\times 10^5, 1\le T \le 5, 1\le A_i < 2^{30}$。
0818
- Status
- Done
- Rule
- OI
- Problem
- 4
- Start at
- 2025-8-18 8:15
- End at
- 2025-8-18 11:45
- Duration
- 3.5 hour(s)
- Host
- Partic.
- 61