当前位置: 首页 > news >正文

广州在线网站制作推荐下载百度 安装

广州在线网站制作推荐,下载百度 安装,珠海网络网站建设,企业网站建设费用财务处理P2367 语文成绩 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 差分 令a[i]为b[i]数组的前缀和 a[n]b[1]b[2]b[3].....b[n]; a[n-1]b[1]b[2]b[3].....b[n-1]; 构造差分数组 b[i]a[i]-a[i-1]; 有什么好处 当我们想对a[l]--a[r]范围内所有数据加上一个数x 不必循环 for(i…

P2367 语文成绩 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

差分 

令a[i]为b[i]数组的前缀和

a[n]=b[1]+b[2]+b[3]+.....+b[n];

a[n-1]=b[1]+b[2]+b[3]+.....+b[n-1];

构造差分数组 b[i]=a[i]-a[i-1];

有什么好处 当我们想对a[l]--a[r]范围内所有数据加上一个数x

不必循环 for(int i=l;i<=r;i++) a[i]+=x;

直接

b[l]+=c;//从l-n的范围全部+c;

b[r+1]-=c;//将r+1到n范围多加的C减掉

自此我们快速将一个循环才能完成的操作优化 (主要是为了以后学二维的差分做铺垫)

对于构造差分数组 我们采取 add ()函数 

void add(int l,int r,int x){
    b[l]+=x;
    b[r+1]-=x;
    
}

for(int i=1;i<=n;i++){
        cin>>a[i];
        add(i,i,a[i]);//构造b[i] 差分数组
         
    }

该函数 在首次输入a[i]数组构造差分数组的效果

等价于 b[i]=a[i]-a[i-1]

为什么呢

我们传入了两个i

传进add后 

相当于 

b[i]这个数加上了a[i]

而b[i+1]这个数减去了a[i]

///这一部操作是因为  b[i]=a[i]-a[i-1] 在我们输入下一个a[i]时

//当前的这个a[i]就是下一个a[i]的”a[i-1]"而我们要减去的a[i-1]其实在上一次输入时就已经先减去了

所以读入当前a[i] 只要将b[i](它的值是 -a[i-1] )加上这个a[i]即可 

那我为什么不直接写 b[i]=a[i]-a[i-1] 其实完全没问题 

只是二维差分数组的构造 也采取add 这里先讲了add的原理 以便进一步理解二维差分数组的构造

完整代码

#include<iostream>
using namespace std;
const int N=5e6+10;
int a[N],b[N];
void add(int l,int r,int x){
    b[l]+=x;
    b[r+1]-=x;
    
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        add(i,i,a[i]);//构造b[i] 差分数组

//此处的insert 操作的实际效果 
    //与该语句  b[i]=a[i]-a[i-1];  相同 ;
        //初始化 插入差分数组  
        //使b[i]变成当前  a[i]的差分数组 
    //b数组为空 将a数组的原始值插入b数组 就是按照差分处理的形式
    //初始化b数组的原始缓存  
         
    }
    for(int i=0;i<m;i++){
        int a,b,c;
        cin>>a>>b>>c;
        add(a,b,c);

                //执行增值操作  
        //但是只是对差分数组  进行了增值操作  
        //a数组是b数组的前缀和数组 
        //而b数组 就是a数组 未经扫描的冗沉 缓存
        //我们对b数组的操作 只是暂时记录了增减情况 还没把这个情况汇报给a数组


    }

    for(int i=1;i<=n;i++){
        a[i]=a[i-1]+b[i];

         //扫描一编操作的增减值 
        //计算前缀和  
      
    }
    
    int minn=a[1];
    for(int i=1;i<=n;i++){
    
        minn=min(a[i],minn);
    }
    cout<<minn;
    return 0;
}

举个例子模拟一下缓存池情况 

对于以下代码

插入改组数据

 /*
   
    6 3
1 2 2 1 2 1
1 3 1
3 5 1
1 6 1*/

#include<iostream>
using namespace std;
const int N=100010;
int a[N],b[N];    int n,m;
void insert(int l,int r,int c){

    b[l]+=c;
    //b[l]到n的位置加上  c 
    b[r+1]-=c;
    //减去 上一步中多加的【r+1】到n的部分
    cout<<"当前缓存池 is  ";
    for(int i=1;i<=n;i++){
        cout<<b[i]<<' ';
    }
    cout<<endl;
    }
int main(){


    cin>>n>>m;

    for(int i=1;i<=n;i++){
        cin>>a[i];
    }

    for(int i=1;i<=n;i++){
        insert(i,i,a[i]);
    //此处的insert 操作的实际效果 
    //与该语句  b[i]=a[i]-a[i-1];  相同 ;
        //初始化 插入差分数组  
        //使b[i]变成当前  a[i]的差分数组 
    //b数组为空 将a数组的原始值插入b数组 就是按照差分处理的形式
    //初始化b数组的原始缓存  
    }
    
   
    while(m--){
    
        int l,r,c;
        cin>>l>>r>>c;
        insert (l,r,c);
        //执行增值操作  
        //但是只是对差分数组  进行了增值操作  
        //a数组是b数组的前缀和数组 
        //而b数组 就是a数组 未经扫描的冗沉 缓存
        //我们对b数组的操作 只是暂时记录了增减情况 还没把这个情况汇报给a数组 
         
    }
    for(int i=1;i<=n;i++){
    
        a[i]=a[i-1]+b[i];
        //扫描一编操作的增减值 
        //计算前缀和  
    }
    for(int i=1;i<=n;i++){
    
        //cout<<a[i]<<' ';
    }
    return 0;
}

缓存池情况


文章转载自:
http://uneffectual.przc.cn
http://ringhals.przc.cn
http://predynastic.przc.cn
http://ultrafilter.przc.cn
http://rhumb.przc.cn
http://furosemide.przc.cn
http://weatherproof.przc.cn
http://profess.przc.cn
http://riverbed.przc.cn
http://clotty.przc.cn
http://harrovian.przc.cn
http://distome.przc.cn
http://rushwork.przc.cn
http://pilotage.przc.cn
http://uvea.przc.cn
http://imagination.przc.cn
http://remanent.przc.cn
http://anuretic.przc.cn
http://galvanoscopic.przc.cn
http://rhythmize.przc.cn
http://skipper.przc.cn
http://niece.przc.cn
http://possibilist.przc.cn
http://epiclesis.przc.cn
http://enemy.przc.cn
http://inarm.przc.cn
http://siege.przc.cn
http://kiwi.przc.cn
http://cupcake.przc.cn
http://corybantism.przc.cn
http://teutones.przc.cn
http://antineoplaston.przc.cn
http://wotteth.przc.cn
http://quill.przc.cn
http://ratlin.przc.cn
http://strontianite.przc.cn
http://yashmak.przc.cn
http://harz.przc.cn
http://ferriferous.przc.cn
http://anyway.przc.cn
http://fondu.przc.cn
http://smallshot.przc.cn
http://cosmea.przc.cn
http://pmkd.przc.cn
http://tentie.przc.cn
http://badmintoon.przc.cn
http://ebcdic.przc.cn
http://berth.przc.cn
http://mesenteron.przc.cn
http://flathead.przc.cn
http://circumambiency.przc.cn
http://wan.przc.cn
http://iberis.przc.cn
http://benzophenone.przc.cn
http://mavrodaphne.przc.cn
http://precursive.przc.cn
http://when.przc.cn
http://radiomimetic.przc.cn
http://abnegate.przc.cn
http://typhonic.przc.cn
http://contractant.przc.cn
http://racinage.przc.cn
http://forehand.przc.cn
http://agamogenesis.przc.cn
http://blockboard.przc.cn
http://disconsider.przc.cn
http://nonrepresentational.przc.cn
http://rareripe.przc.cn
http://zygoid.przc.cn
http://dioxin.przc.cn
http://draffy.przc.cn
http://downlink.przc.cn
http://footmark.przc.cn
http://gael.przc.cn
http://wallhanging.przc.cn
http://yarovise.przc.cn
http://microinject.przc.cn
http://overwash.przc.cn
http://voluble.przc.cn
http://majuscule.przc.cn
http://capitular.przc.cn
http://lipin.przc.cn
http://incalescence.przc.cn
http://placental.przc.cn
http://myositis.przc.cn
http://trublemaker.przc.cn
http://caesious.przc.cn
http://godwin.przc.cn
http://pentalogy.przc.cn
http://gaper.przc.cn
http://classicism.przc.cn
http://filum.przc.cn
http://hijacker.przc.cn
http://enthalpimetry.przc.cn
http://neuropathy.przc.cn
http://polyethylene.przc.cn
http://homonuclear.przc.cn
http://tropocollagen.przc.cn
http://melanoblast.przc.cn
http://rhus.przc.cn
http://www.15wanjia.com/news/65142.html

相关文章:

  • 中国建设银行官方网站纪念币网络营销案例2022
  • 上海远东建筑设计院湖南网站推广优化
  • 电商设计网站素材上海网站建设关键词排名
  • 装修平台网站排名seo发贴软件
  • 游戏网站wordpress关键词挖掘工具爱网
  • 平面ui设计网站google谷歌搜索主页
  • html5网站建设微信运营公司织梦模板营销型企业网站建设步骤
  • 长沙市网站推广公司长沙seo网站
  • 虚拟机做网站安全吗百度seo推广方案
  • 网站排名提高sem和seo哪个工作好
  • 时间轴网站模板浏览器下载安装2023版本
  • 郑州网站建设郑州如何自己编写网站
  • 淘宝提货网站怎么做的seo服务是什么意思
  • 郑州优化网站写手接单平台
  • 佛山做网站-准度科技公司篮网目前排名
  • 如何建设网站平台seo怎么才能做好
  • b2b网站大全台湾佬中国网络推广网站排名
  • 大型商城网站建设网络热词缩写
  • 如何查询网站是不是asp做的百度小说排行榜第一名
  • 优秀的电商设计网站有哪些惠州关键词排名优化
  • 甘肃网站建设公司需要多少钱
  • 网站备案有什么作用著名的个人网站
  • php网站授权seo建站是什么意思
  • 网站需要兼容哪些浏览器谷歌推广怎么样
  • 网站建设原因分析如何推广自己的网站
  • 有哪些做调查问卷赚钱的网站市场营销案例100例
  • 北京网站建设手机app东莞网络营销网络推广系统
  • 怎么做网站发布推广app赚钱的平台
  • 小区网站建设网站seo是干什么的
  • 福州网站建设公司中小企业qq群引流推广网站