差分
文章平均质量分 59
蒻蒻
萌新一枚
展开
-
洛谷P3406 海底高铁题解
题目 题目地址 如果没有看懂的话,可以再参考一下这个代佬的博客 木南传送门 题目大意: uim坐车出差,每过一个站有两种坐车方式,一种是买票,还有一种是刷卡,刷卡的钱肯定比买票的要便宜,但是办卡要花钱,每一个站办的卡只能在那一段铁路使用。我们需要得到uim出一次差花费最少是多少钱 思路 这道题我们可以通过记录通过第i段铁路的次数,然后比较办卡加刷卡的费用和买票哪个更便宜。 记录通过第i段铁路的次数可以用差分加前缀和。 代码 #include <bits/stdc++.h> #include &l原创 2021-11-13 18:14:14 · 207 阅读 · 1 评论 -
差分 笔记
差分 讲解 我们先来说说前缀和。 前缀和 定义两个数组:一个a[N],一个b[N]。 我们定义b[N] = a[1]+a[2] + …+a[i]+…+a[N],则b[i]表示a数组的前i项的和,那么b数组为a数组元素的前缀和数组。 对于前缀和,我们有 b[r] = a[1] + a[2]+......+a[r]; b[r] - b[l-1] = a[l]+a[l+1]+......+a[r];//此为数组l到r的数组元素的和 差分 差分可以看成前缀和的逆运算。 我们同样定义两个数组:一个a[N],一个b[原创 2021-10-15 22:02:20 · 77 阅读 · 0 评论