CF1975F.Set
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
定义有限自然数集合 T⊆{0,1,2,…} 的二进制编码为 f(T)=i∈T∑2i。例如,f({0,2})=20+22=5,f({})=0。注意,f 是从所有这样的集合到所有非负整数的双射,因此 f−1 也是定义良好的。
给定一个整数 n 以及 2n−1 个集合 V1,V2,…,V2n−1。
请找出所有满足以下约束的集合 S:
- S⊆{0,1,…,n−1},注意 S 可以为空集。
- 对于所有非空子集 T⊆{0,1,…,n−1},都有 ∣S∩T∣∈Vf(T)。
由于输入输出规模较大,输入和输出均以集合的二进制编码形式给出。
输入格式
第一行包含一个整数 n(1≤n≤20)。
第二行包含 2n−1 个整数 v1,v2,…,v2n−1(0≤vi<2n+1),表示集合 Vi 的二进制编码,其中 Vi=f−1(vi)。
输出格式
第一行输出一个整数 k,表示满足条件的 S 的个数。
接下来的 k 行,每行输出一个 f(S),按升序排列所有可能的 S。
输入输出样例
输入#1
3 15 15 15 15 15 15 12
输出#1
4 3 5 6 7
输入#2
5 63 63 63 63 6 63 63 63 63 63 63 5 63 63 63 63 63 63 8 63 63 63 63 2 63 63 63 63 63 63 63
输出#2
1 19
说明/提示
在第一个测试用例中,一个可能的 S 是 f−1(3)={0,1}。所有非空子集 T⊆{0,1,2} 及其对应的 ∣S∩T∣、f(T) 和 Vf(T) 如下:
T{0}{1}{2}{0,1}{0,2}{1,2}{0,1,2}∣S∩T∣1102112f(T)1243567Vf(T){0,1,2,3}{0,1,2,3}{0,1,2,3}{0,1,2,3}{0,1,2,3}{0,1,2,3}{2,3}
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?