首页 > 其他分享 >区间 (interval)

区间 (interval)

时间:2023-02-26 10:11:19浏览次数:38  
标签:1000005 int ll interval long 区间 sizeof sum

题目链接:https://ac.nowcoder.com/acm/problem/16722

  • 差分模版
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll sum[1000005];
ll a[1000005];
ll d[1000005];
int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        int p,l,r;
        ll q;
        memset(d,0,sizeof(d));
        memset(sum,0,sizeof(sum));
        for(int i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
        }
        while(m--)
        {
            scanf("%d%d%d%lld",&p,&l,&r,&q);
            if(p==1)
            {
                d[l]+=-q;
                d[r+1]-=-q;
            }
            else 
            {
                d[l]+=q;
                d[r+1]-=q;
            }
        }
        scanf("%d%d",&l,&r);
        for(int i=2;i<=n;i++)
        {
            d[i]+=d[i-1];
        }
        for(int i=1;i<=n;i++)
        {
            sum[i]=sum[i-1]+d[i]+a[i];
        }
        printf("%lld\n",sum[r]-sum[l-1]);
    }
}

标签:1000005,int,ll,interval,long,区间,sizeof,sum
From: https://www.cnblogs.com/tflsnoi/p/17156179.html

相关文章

  • Hive 刷题——区间合并
    需求描述给定多个时间段,每个时间段分为开始时间、结束时间,将相互重叠的多个时间段合并为一个区间。--数据:id、开始时间、结束时间10011618100217191003293210......
  • 刷刷刷 Day 36 | 56. 合并区间
    56.合并区间LeetCode题目要求以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回 一个不重叠的区......
  • 刷刷刷 Day 36 | 763. 划分字母区间
    763.划分字母区间LeetCode题目要求给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按......
  • B3612 【深进1.例1】求区间和
    【深进1.例1】求区间和题目描述给定$n$个正整数组成的数列$a_1,a_2,\cdots,a_n$和$m$个区间$[l_i,r_i]$,分别求这$m$个区间的区间和。输入格式共$n+m+2$......
  • java8新特性使用 如stream流;时间区间和模糊查询;数据源yml
    java8新特性使用如stream流,Javastream()用法集合单独取出对象中一个属性成为集合或数组java8streamuserList=userList.stream().sorted(Comparator.comparing(UserDTO:......
  • 刷刷刷 Day 36 | 435. 无重叠区间
    435.无重叠区间LeetCode题目要求给定一个区间的集合 intervals ,其中intervals[i]=[starti,endi] 。返回需要移除区间的最小数量,使剩余区间互不重叠 。示例输......
  • LeetCode56. 合并区间(/)
    原题解题目约束题解classSolution{public:vector<vector<int>>merge(vector<vector<int>>&intervals){if(intervals.size()==0){......
  • 斑点工具如何进行灰度值阈值区间选择
    在斑点工具里面,有软阈值,硬阈值,动态阈值等。如果我想获得两个硬阈值的区间,怎么操作呢?两个斑点工具,一个黑底白点,一个白底黑点。去抓上下区间。最后通过图像相减,使用绝对值减......
  • vue $bus 和 settimeout 实现setinterval
    main.js实现用settimeout实现setintervalwindow.$bus=newVue()window.setTimeToInterval=function(delay){if(window.intervalTimeout){clearTime......
  • 1230. K倍区间
    https://www.acwing.com/problem/content/1232一眼前缀和,但是似乎只能优化到O(N^2),1e5的数据会超时,如果在比赛中到是可以抢一些分枚举左端点和右端点找出所有的i,j组合......