求题目难度
2026-10-05 20:55:30
发布于:广东
RT,题目如下:
给定一个长度为 的数组 ,其中每个 是一个正整数。
现在需要你构造一个长度为 的数组 ,满足:
- ;
- 对于每个 ,按照如下规则计算出的值恰好等于给定的 。
规则:如何由 得到
对于每个位置 (),考虑所有满足以下两个条件的区间 :
- ,即区间必须包含位置 ;
- 是区间 中的最小值之一。
也就是说,区间内不能存在比 更小的数。如果区间的最小值在多个位置同时出现(即等于 的多个位置),那么对于每个这样的位置,都会分别计入它自己的 值。具体来说,对于位置 ,只要 等于该区间的最小值,这个区间就计入 。
令 等于满足上述条件的区间 的总数量。
题目保证至少存在一个合法的数组 ,你只需要输出任意一个即可。
输入输出格式
- 输入文件
subarray.in:第一行一个整数 ;第二行 个整数 。 - 输出文件
subarray.out:一行 个整数 ,满足 ,并且按上述规则计算得到的 恰好等于输入。
数据范围
- 保证至少存在一个合法数组 。
样例说明
例如输入:
3
3 1 2
一个合法输出是:
1 3 2
验证:对于 ,
- , 是最小值的区间有 ,共 个,所以 ;
- , 是最小值的区间只有 ,共 个,所以 ;
- , 是最小值的区间有 ,共 个,所以 。
与输入完全一致。
核心要求
构造任意一个长度为 的数组 ,元素在 之间,使得它产生的 数组与输入完全相同。
全部评论 4
md,这道题改了5h
昨天 来自 广东
1Orz
昨天 来自 广东
0Orz
昨天 来自 浙江
0
bdjw 这是啥题,S 模拟塞吗
23小时前 来自 浙江
02
昨天 来自 浙江
0https://www.luogu.com.cn/article/qnm8fbtm
昨天 来自 广东
0

























有帮助,赞一个