前缀和与差分思想应用的小结

本文总结了前缀和与差分的概念,并通过两个实例【oliver的表白时间】和【缺席多少人 2】详细阐述了如何运用这两种思想解决实际问题,涉及区间修改和二维前缀和的计算方法。
摘要由CSDN通过智能技术生成

原题目传送门:

 oliver的表白时间

缺席多少人(2)

以上题目均来自温州中学在线评测系统(wzoi.cc)。

大致了解什么是前缀和与差分

个人理解就是:存在一个数组,其中某一位的值与前一个值挂钩、相关联。

前缀和,就是前若干位的元素和;差分,就是第某位与前一位的差。

不妨设原数组为arr[],则需要另外创建数组k[],则:

k[i]=k[i-1]+arr[i]即前缀和的计算;相反地,arr[i]=k[i]-k[i-1]即差分的计算。

当k[]中的某一个数值变动之后,那么进行差分后在这个位置之后的结果也都会发生改变。

因此,可以想到当进行区间整体修改数值时,需要在区间后(修改的势力范围之外)“消除影响”,即进行与之前修改相反的运算使之回归原本的样子。

希望没有讲乱

着手尝试解题

【例1】oliver的表白时间

题目描述:

 oliver打算今天向小X告白,可是在仅有的F时间内,周围的环境总是影响着紧张的oliver.如有些人会故意阻挠,这会让表白很难堪,但有些人却能促进表白的气氛。所有人不是总在小X身边的,他们各自会有一段时间在,oliver知道了每个人对表白的程度的影响值M(正数表示会促进气氛,负数表示使气氛难堪,数字大小决定影响程度),和哪几个时间段在小X身边。现在oliver想

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值