CF1261F.Xor-Set
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个整数集合 A 和 B,你需要输出集合 C={x∣x=a⊕b,a∈A,b∈B} 中所有元素的和,结果对 998244353 取模,其中 ⊕ 表示按位异或运算。每个数字只计数一次。
例如,如果 A={2,3} 且 B={2,3},你应该只计数整数 1 一次,尽管你可以通过 3⊕2 和 2⊕3 得到它。因此,这种情况下的答案是 1+0=1。
我们称区间 [l,r] 为整数集合 {l,l+1,…,r}。
集合 A 由 nA 个区间的并集给出,集合 B 由 nB 个区间的并集给出。
输入格式
第一行包含一个整数 nA(1≤nA≤100)。
接下来的 nA 行中,第 i 行包含两个整数 li 和 ri(1≤li≤ri≤1018),描述集合 A 的一个区间。
接下来一行包含一个整数 nB(1≤nB≤100)。
接下来的 nB 行中,第 i 行包含两个整数 lj 和 rj(1≤lj≤rj≤1018),描述集合 B 的一个区间。
注意,两个集合中的区间可能有重叠。
输出格式
输出一个整数,表示集合 C={x∣x=a⊕b,a∈A,b∈B} 中所有元素的和,对 998244353 取模。
输入输出样例
输入#1
2 3 5 5 8 3 1 2 1 9 2 9
输出#1
112
输入#2
1 1 9 2 2 4 2 10
输出#2
120
说明/提示
在第二个样例中,可以发现集合 C={0,1,…,15},也就是说所有 0 到 15 之间的数字都可以表示为 a⊕b 的形式。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?