#G0103. 一道复杂的构造题【2025暑假集训T1】
一道复杂的构造题【2025暑假集训T1】
题目描述
江桥 需要你构造一个长度为 的排列,并将其分割成 不多于 个 不相交的连续区间 ,使得每个区间的元素的 (即最大公约数) ,按位或 起来恰好等于整数 。 如果能构造,输出任意一种方案。
如果构造不了,输出 −1
。
输入格式
输入两个整数 ,代表排列的长度和目标整数。
输出格式
如果无法构造,直接输出 −1
。
否则,按以下格式输出:
第一行输出一个长度为 的排列。
第二行输出你想划分的区间数量 。
随后 行,每行输出两个整数 ,表示划分区间的左右端点。
注意,你划分的区间必须是连续的,即你的输出必须满足 $1 \leq l_i \leq r_i \leq n \space (1 \leq i \leq k)$ 且 且 。
6 7
6 5 4 3 2 1
4
1 1
2 3
4 5
6 6
3 2
-1
样例解释
对于第一个样例:
第 组,。
第 组,。
第 组,。
第 组,。
四组的 按位或起来恰好为 。
数据规模与约定
由于大样例具有提示性,无下发文件。
有合理的子任务依赖。
子任务编号 | 特殊性质 | 分值 | |
---|---|---|---|
为偶数 | |||
对于 的数据:保证 。