loj#P2850. 「ROI 2018 Day 2」无进位加法

「ROI 2018 Day 2」无进位加法

题目描述

译自 ROI 2018 Day2 T4. Сложение без переносов (Addition without carry)

对于一个只含自然数的集合,如果集合中所有数之和 = 集合中所有数的 OR\mathtt{OR} 和,那么我们称之为「美丽的集合」。

给出 a1an,a_1\ldots a_n, 存在一个由数列 b1bnb_1\ldots b_n 组成的「美丽的集合」,且满足:

  • i=1n,\forall i=1\ldots n, biai,b_i\geq a_i,
  • bi\sum b_i 最小。

试求出新数列的 bi\sum b_i

为了简便起见,我们给出的 aia_i 均为二进制形式,你的答案也应是二进制形式。

2
10
10
110
2
10100
1001
11101
3
1
1
110
1011

数据范围与提示

(在二进制下)aia_i 的位数不超过 maxL\max L,并且所有 aia_i 的位数之和不超过 3×1053\times 10^5

子任务 # 分值 nn⩽ maxL\max L⩽ 子任务依赖 额外限制
0  0  样例
1 4 =2=2 1010
2  2  2020 1
3 2 100100 1,2
4  2  10001000 1-3
5 2 3×1053×10^5 1-4
6 4 100100 对于部分 ki,k_i, ai=2kia_i=2^{k_i}
7  4  10001000 6
8 4 3×1053×10^5 6,7
9  4  55 0
10 4 55 10001000 0,1-4,9
11  4  10001000 55 0,9
12 4 1010 0,1,9
13  4  5050 0-2,9,12
14 7 100100 0-3,6,9,12,13
15  7  300300 0-3,6,9,12-14
16 8 10001000 0-4,6,7,9-15
17  8  30003000 0-4,6,7,9-16
18 6 1×1041×10^4 0-4,6,7,9-17
19 7 3×1043×10^4 0-4,6,7,9-18
20  7  1×1051×10^5 0-4,6,7,9-19
21 6 3×1053×10^5 0-20