- [蓝桥杯2022初赛] 重新排序
本题若出现循环里面套循环的情况,就会超时,需要进行差分
- 2023-2-2 17:29:15 @
两种差分
- 差分一:求数列A的某一段A[i]到A[j]的和(频繁的求)
- 普通做法就是一个一个加A[i~j],这会导致产生一层内循环
- 优化就是,提前构造S数列,求S[j]-S[i-1],直接搞定
- 差分二:对数列A的某一段加上同一个值a(频繁的加)
- 普通做法就是A[i~j]每一个都+a,同样会产生内循环
- 优化就是,A[i]+a,A[j+1]-a,先欠着A[i+1~j]的,等出了循环后,一起算。
- 最后A[i] = A[i] +A[i+1]
0 条评论
目前还没有评论...
信息
- ID
- 24
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 14
- 已通过
- 4
- 上传者