题目背景
译自 Izborne Pripreme 2021 (Croatian IOI/CEOI Team Selection) D1T1。1s,0.5G。
由于本题特殊的 SPJ,将本题的 TL 和 ML 分别改为 10s,2G。但是对于选手程序,本题的时空限制和原题相同。
如果使用压缩包上传答案:将文件分别命名为 jelo-1.out∼jelo-5.out。
题目描述
给定正偶数 N。构造一个最大的集合 S⊆{0,1,⋯,2N−1},使得 $\left|\bigcup_{i,j\in S,i\lt j} \{i\oplus j\}\right|={|S|\choose 2}$ 。换言之,在 S 中任意选定 (a,b),(c,d)(a,b,c,d∈S,a<b,c<d,(a,b)=(c,d)),都有 a⊕b=c⊕d 成立。
其中 ⊕ 表示按位异或运算。
输入格式
一行一个正整数 N。
输出格式
第一行一个整数 ∣S∣。
接下来 ∣S∣ 个数描述 S。
4
6
0 1 2 4 8 15
提示
对于 100% 的数据,保证 1≤N≤30。
本题共有 5 个测试点,每个测试点有三个评分参数 t1,t2,t3,记 t=∣S∣,则得分计算方式为:
$$\mathrm{score}(t)=
\begin{cases}
2.4\cdot \frac{t}{t_1} & t\in [0,t_1) \\
2.4+3.6\cdot \frac{t-t_1}{t_2-t_1} & t\in [t_1,t_2) \\
6+12\cdot \frac{t-t_2}{t_3-t_2} & t\in [t_2,t_3) \\
20 & t\in [t_3,2^N] \\
\end{cases}$$
测试点编号 |
N= |
t1= |
t2= |
t3= |
得分 |
1 |
18 |
267 |
283 |
512 |
20 |
2 |
20 |
444 |
462 |
1024 |
3 |
26 |
2019 |
2040 |
8192 |
4 |
28 |
3295 |
3327 |
16384 |
5 |
30 |
5377 |
5430 |
32768 |
【提示】请注意代码长度限制。