树状数组分为三大类: 1.单点修改+区间求和 2.区间修改+单点求和(运用工具差分数组) 3.区间修改+区间求和(维护两个数组的前缀和)
典型的差分思想: https://www.luogu.com.cn/problem/P3655
#include
using namespace std;
typedef long long ll;
const int maxn=2e5+5;
ll N,S,Q,T,c[maxn],ls;
ll ans;
inline ll cc(ll x)
{
if(x>0)
return -S*x;
return -T*x;
}
int main()
{
scanf("%lld%lld%lld%lld",&N,&Q,&S,&T);
for(register ll i=0;i
关注
打赏