卡码网KamaCoder
题库
状态
周赛
商店
八股训练营
探索
全站排名
设计模式
卡码题解
代码随想录
登录
题目描述
评论区
提交记录
子数组极差查询
题目描述
小红有一天拿到了 M 个数组 A[x] (1 <= x <= M),他用这个数组构造 M 个新数组 B[x],其中 A[x][i] 代表 B[x] 数组中有 A[x][i] 个 i。例如,若 A[x] = [2,3,1],那么 B[x] = [1,1,2,2,2,3]。
聪明的小红把这些数组用某种神秘的方法压缩成了一个长度为 N 的数组 C,每个 A[x] 都能用 C 的某个子数组表示,因此,对于每个数组 A[x], 小红只会给你 A[x] 在 C 数组出现的左边界 L 和右边界 R。
现在给定 C 数组 和 每个 A[x] 在 C 数组中的左边界与右边界,你需要帮小红对每个 1 <= x <= M 分别求出对应 B[x] 数组中所有连续子数组的极差之和。由于答案可能过大,请对 1000000007 取模。数组的极差指数组中的最大值减去数组中的最小值。
输入描述
第一行有两个正整数 N, M。
第二行有 N 个正整数,表示 C。
后面有 M 行, 每行有两个整数 L, R,按顺序表示 A[x] 在 C 数组出现的左边界和右边界。
输出描述
输出有 M 行, 每行一个整数,第 x 行 表示 B[x] 数组中所有连续子数组的极差之和。
输入示例
3 4 2 1 1 1 2 1 3 1 1 2 3
输出示例
2 7 0 1
提示信息
A[1] = [2, 1] 时,B[1] 数组为 [1, 1, 2]。
此时 B[1] 数组共有 6 个连续子数组:
[1] 的极差为 0
[1] 的极差为 0
[2] 的极差为 0
[1, 1] 的极差为 0
[1, 2] 的极差为 1
[1, 1, 2] 的极差为 1
因此答案是0 + 0 + 0 + 0 + 1 + 1 = 2
1 <= N, M <= 100000
1 <= C[i] <= 1000000000
1 <= L <= R <= N
评论
插入代码块
C++语言基础课
快速入门 C++ 语言刷题所需要的语法知识
本次提交
运行时间:
消耗内存:
提交历史
C
C++
Java
Python
PHP
JavaScript(Node)
Golang
运行
提交
自定义运行数据
自定义输入:
3 4 2 1 1 1 2 1 3 1 1 2 3
运行结果:
编辑器设置
字体大小设置
选择合适的字体大小
14px
15px
16px
17px
18px
19px
20px
21px
22px
选择编辑器主题
选择合适的主题
monokai
chaos
ambiance
twilight
dracula
tomorrow_night
terminal
solarized_dark
pastel_on_dark
clouds_midnight
cobalt
gob
gruvbox
idle_fingers
kr_theme
merbivore_soft
题库
1. A+B问题I
2. A+B问题II
3. A+B问题III
4. A+B问题IV
5. A+B问题VII
6. A+B问题VIII
7. 平均绩点
8. 摆平积木
9. 奇怪的信
10. 运营商活动
11. 共同祖先
12. 打印数字图形
13. 镂空三角形
14. 句子缩写
15. 神秘字符
16. 位置互换
17. 出栈合法性
18. 链表的基本操作
19. 单链表反转
20. 删除重复元素
21. 构造二叉树
22. 二叉树的遍历
23. 二叉树的高度
24. 最长公共子序列
25. 最爱的城市
26. 不相同的字符串(第一期模拟笔试)
27. 最长增长子序列(第一期模拟笔试)
28. 子序列中的 k 种字母(第一期模拟笔试)
29. 安排超市(第一期模拟笔试)
30. 字符串解压缩(第二期模拟笔试)
31. 字符串的最大价值(第二期模拟笔试)
32. 子矩形的最大面积(第二期模拟笔试)
33. 逛街(第二期模拟笔试)
34. 大鱼吃小鱼(第三期模拟笔试)
35. 打印二维数组(第三期模拟笔试)
36. 网格路径和(第三期模拟笔试)
37. 交换字符(第三期模拟笔试)
38. 填充矩阵Ⅰ(第四期模拟笔试)
39. 求和(第四期模拟笔试)
40. 到达目的地的最短距离(第四期模拟笔试)
41. 岛屿数量(第四期模拟笔试)
42. 路径简化(第五期模拟笔试)
43. 汽水瓶换饮料(第五期模拟笔试)
44. 开发商购买土地(第五期模拟笔试)
45. 虚拟棋盘对战(第五期模拟笔试)
46. 携带研究材料(第六期模拟笔试)
47. 参加科学大会(第六期模拟笔试)
48. 安排讲座(第六期模拟笔试)
49. 整数的不同位数(第六期模拟笔试)
50. 随机数排序(第七期模拟笔试)
51. 平移二叉树(第七期模拟笔试)
52. 携带研究材料(第七期模拟笔试)
53. 寻宝(第七期模拟笔试)
54. 替换数字(第八期模拟笔试)
55. 右旋字符串(第八期模拟笔试)
56. 携带矿石资源(第八期模拟笔试)
57. 爬楼梯(第八期模拟笔试)
58. 区间和(第九期模拟笔试)
59. 判断是否是树(第九期模拟笔试)
60. 匹配前缀的词典(第九期模拟笔试)
61. 出现一次的整数(第九期模拟笔试)
91. 保险箱
62. 平方差
63. 更小的数
64. 颜色平衡树
65. 买瓜
66. 网络稳定性
67. 异或和之和
68. 像素放置
69. 翻转硬币
70. 冶炼金属
71. 飞机降落
72. 接龙数列
73. 岛屿个数
74. 子串简写
75. 整数删除
76. 景区导游
77. 砍树
78. 三国游戏
79. 填充
80. 翻转
81. 子矩阵
82. 互质数的个数
83. 异或和之差
84. 公因数匹配
85. 子树的大小
86. 近似 GCD
87. 数组个数
88. 打折
89. 松散子序列
90. 管道
92. 砝码称重
93. 括号序列
94. 城市间货物运输 I
95. 城市间货物运输 II
96. 城市间货物运输 III
97. 小明逛公园
98. 所有可达路径
99. 岛屿数量
100. 岛屿的最大面积
101. 孤岛的总面积
102. 沉没孤岛
103. 水流问题
104. 建造最大岛屿
105. 有向图的完全可达性
106. 岛屿的周长
107. 寻找存在的路径
109. 冗余连接II
108. 冗余连接
110. 字符串接龙
111. 构造二阶行列式
112. 挑战boss
113. 国际象棋
114. 小欧的平均数
115. 组装手机
116. 小欧的卡牌
117. 软件构建
118. 小 y 删数字
119. 小红的字符串切割
120. 小红的数字匹配
121. 小红的区间翻转
122. 大数减法
123. 滑动窗口最大值
124. 小红的数组构造
125. 精华帖子
126. 连续子数组最大和
127. 骑士的攻击
128. 小美的排列询问
129. 小美走公路
130. 小美的蛋糕切割
131. 小美的字符串变换
132. 小美的树上染色
133. 夹吃棋
134. 小红买药
135. 皇后移动的最小步数
136. 获取连通的相邻节点列表
137. 字符串处理器
138. 消息传输
139. 完美数
140. 可爱串
141. 好二叉树
142. 两个字符串的最小 ASCII 删除总和
143. 最长同值路径
144. 字典序最小的 01 字符串
145. 数组子序列的排列
146. 传送树
147. 三珠互斥
148. 扑克牌同花顺
149. 好数组
150. 极长连续段的权值
151. 手机流畅运行的秘密
152. 小米手机通信校准
153. 权值优势路径计数
154. 序列中位数
155. 最小化频率的删除代价
156. 勇敢牛牛战斗序列
157. 最大化密码复杂度
158. 同余方程
159. 大整数乘法
160. 二维平面上的折线段
161. 讨厌鬼的组合帖子
162. 小红的第16版方案
163. 优秀数组
164. 升序数组
165. 最大字典序无重复串
166. 照明灯安装
167. 黑白块
168. 删除三元组
169. 非连续合法字符串
170. 权值不等的路径方案
171. 卡牌对弈
172. 股票上涨序列
173. 编辑距离内的子串
174. 魔物入侵
175. 阴阳师
176. 切割正数
177. 学习语言
178. 寻找平均数
179. 密码转换映射
180. 解压字符串
181. 话单计费与优惠方案计算
182. 0 到 n 中包含 2 的数字个数
183. 有效的重复字符
184. 米小游和蹦蹦史莱姆
185. 米小游买手办
186. 米小游和建木
187. 小欧新建文件夹
188. 小欧的等差数列
189. 小欧的弹球
微信扫码登录
手机号绑定
工信部要求,互联网上网发帖或者评论,必须实名认证(即绑定手机号)
手机号
验证码
发送验证码
验证