编程题
### 问题描述 给你一个长度为 $n$ 的 $01$ 串,其中 $0$ 表示指向左的箭头,$1$ 表示指向右的箭头。 定义一个“美”的箭头满足这个箭头指向的箭头个数和指向这个箭头的箭头个数相同。 现有 $q$ 次询问,每次询问查询一个区间 $[l,r]$ 。 请你找出这个区间内是否有“美”的箭头,输出个数及其位置(下标从 $1$ 开始),以空格分割。 如果没有这个“美”的箭头,输出 $0$ 。 ### 输入格式 第 $1$ 行:一个 $01$ 串,长度为 $n$ ,表示给定的一排箭头。 第 $2$ 行:一个正整数 $q$ ,表示查询组数。 接下来的 $q$ 行,每行两个正整数 $l,r$ ,表示查询的闭区间。 ### 输出格式 输出 $q$ 行,每行 $m + 1$ 个整数。 每行第一个整数 $m$ 表示区间内共有多少“美”的箭头。 接下来的 $m$ 个整数表示区间内“美”的箭头的位置,按位置从小到大输出。 ### 样例输入 ``` text 11001 3 1 5 1 2 2 3 ``` ### 样例输出 ``` text 1 2 0 2 2 3 ``` ### 说明 样例给定的 01 串表示: $ \rarr \rarr \larr \larr \rarr $ 在第一次查询的区间里,从左到右每个箭头指向的箭头个数为: ``` text 4 3 2 3 0 ``` 从左到右指向每个箭头的箭头个数为: ``` text 2 3 3 2 2 ``` 所以这个“美”的箭头为第 $2 $ 个。 即第一次查询输出: ``` text 1 2 ``` 同理,第二次的区间里没有“美”的箭头,而第三次查询的区间里都是“美”的箭头。 ### 评测数据规模 保证 $1 \le l \le r \le n \le 10^5$ 且 $1 \le q \le 10^5$ ,但不保证 $n$ 和区间长度为奇数。 以下是每组的规模详情。 |组序号 | $n$ 范围 | $q$ 范围 | 区间性质 | 备注 | |-|-|-|-|-| |$1$|$n \le 10^3$ |$q = 1$ |$l = 1,r = n $ |无| |$2$|$n \le 10^5$ |$q = 1$ |$l = 1,r = n$ |无| |$3$|$n \le 10^3$ |$q \le 10^3$ |$l = 1,r \le n $ | 每次查询的 $r $ 单调不减 | |$4$|$n \le 10^4 $ |$q \le 10^4$ |$1 \le l,r = n $ | 每次查询的 $l $ 单调不减 | |$5$|$n \le 10^4 $ |$q \le 10^4 $ | 无 | 无 | |$6$|$n \le 10^5 $ |$q \le 10^3 $ | 无 | 无 | |$7$|$n \le 10^5 $ |$q \le 10^4 $ | 无 | 无 | |$8$|$n \le 10^5 $ 且为奇数 |$q \le 10^5 $ | 无 | 无 | |$9$|$n \le 10^5 $ |$q = 10^5 $ | 区间长度为奇数 | 无 | |$10\sim 15$|$n \le 10^5 $ |$q \le 10^5 $ | 无 | 无 |
查看答案
赣ICP备20007335号-2