Arrays 加法、乘法、替换查询

Arrays 加法、乘法、替换查询,arrays,algorithm,segment-tree,Arrays,Algorithm,Segment Tree,给定一个长度为N的一维整数数组a。我们需要以下每种类型的Q查询: 注意:M固定为10^9+7 查询1:1xyv:这意味着将v添加到1个基索引数组中从x到y的所有元素中,然后将它们取模M for (i = x; i <= y; i++) A[i] += v; A[i] %= M; for (i = x; i <= y; i++) A[i] *= v A[i] %= M for(i=x;i“如何处理”是什么意思?“问题中已经有了很好的

给定一个长度为N的一维整数数组a。我们需要以下每种类型的Q查询:

注意:M固定为10^9+7

查询1:1xyv:这意味着将v添加到1个基索引数组中从x到y的所有元素中,然后将它们取模M

for (i = x; i <= y; i++)    
    A[i] += v;
    A[i] %= M; 
for (i = x; i <= y; i++)    
    A[i] *= v
    A[i] %= M

for(i=x;i“如何处理”是什么意思?“问题中已经有了很好的伪代码。您实际上在问什么?在查询4中:“sum%=M”你确定你想要这个…你修改你的总数然后加进去…?@jdl是的..我需要这样做way@chiliNUT我不能这样做,因为这样的查询数量非常多。@chiliNUT请仔细阅读问题。每一步都需要修改。所以不需要这样的库“如何处理”是什么意思在这个问题上你已经有了很好的伪代码。你到底在问什么?在查询4中:“sum%=M”你确定你想要这个…你修改你的总数然后加进去…?@jdl是的..我需要这样做way@chiliNUT我不能这样做,因为这样的查询数量非常多。@chiliNUT请仔细阅读这个问题。每一步都需要修改。所以不需要这样的库
for (i = x; i <= y; i++)    
    A[i] = v 
sum = 0;
for (i = x; i <= y; i++)
    sum += A[i]
    sum %= M
Output sum.