线段树之单点修改(斑点蛇上数斑点)

转载 2018年04月16日 19:34:16



#include<iostream>
#include<string>
using namespace std;
/*刚学线段树,调了好一会。
*单点修改的模板。
*/
const int Kmax=50000+20;
int sq[Kmax<<2];

void up(int p){
    sq[p]=sq[p<<1]+sq[(p<<1)+1];
}

void modify(int p,int l,int r,int i,int ai){
    if(l==r){
        sq[p]+=ai;
        //  cout<<i<<":"<<sq[p]<<" ";
        return;
    }
    int mid=(l+r)/2;
    if(i<=mid){
        modify(p<<1,l,mid,i,ai);
    }
    else{
        modify((p<<1)+1,mid+1,r,i,ai);
    }
    up(p);
}
int query(int p,int l,int r,int a,int b){
    if(a<=l&&r<=b){
       // cout<<l<<"-"<<r<<":"<<sq[p]<<" $$ ";
        return sq[p];

    }
    int mid=(l+r)/2,ans=0;
    if(mid>=a){
        ans+=query(p<<1,l,mid,a,b);
    }
    if(mid<b){
        ans+=query((p<<1)+1,mid+1,r,a,b);
    }
    return ans;
}

int main(){
    std::ios::sync_with_stdio(false);
    int n;
    cin>>n;
    int ai;
    for(int i=1;i<=n;i++){
        cin>>ai;
        modify(1,1,n,i,ai);
    }
   // cout<<sq[1]<<endl;
    string op;
    int a,b;
    while (cin>>op) {
       if(op[0]=='E') break;
       if(op[0]=='A'){
           cin>>a>>b;
           modify(1,1,n,a,b);
       }
       else if(op[0]=='S'){
           cin>>a>>b;
           modify(1,1,n,a,-b);
       }
       else{
           cin>>a>>b;
           cout<<query(1,1,n,a,b)<<endl;
       }
    }
    return 0;
}

图像局部特征学习(笔记1之斑点检测)

斑点:斑点有区别于角点和边缘,斑点主要描述的是一个区域。该区域相对其周围的像素在颜色或者灰度上有明显区别。虽然称之为点,但不是说明该区域很小。在纯色的背景中,里面单一的物体(比如雕塑)也可以称之为斑点...
  • u013207865
  • u013207865
  • 2015年09月18日 10:05
  • 1525

斑点SimpleBlobDetector检测

 明:本文为博主原创文章,未经博主允许不得转载。  Opencv中提供了SimpleBlobDetector的特征点检测方法,正如它的名称,该算法使用最简单的方式来检测斑点类的特...
  • BBZZ2
  • BBZZ2
  • 2016年03月17日 17:27
  • 3414

图像局部特征(五)--斑点检测之SIFT算法原理总结

尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun zdd  zddmail@gmail.com 对于初学者,从...
  • App_12062011
  • App_12062011
  • 2016年06月12日 10:17
  • 6084

LOG斑点检测

1.高斯拉普拉斯算子 LOG(Laplace of Guassian)算子:二维高斯函数: 拉普拉斯算子: 二维高斯函数的拉普拉斯变换:(拉普拉斯响应) 二维高...
  • jinzhichaoshuiping
  • jinzhichaoshuiping
  • 2016年11月02日 21:15
  • 815

OpenCV进行斑点检测 impleBlobDetector

1. 什么是斑点 斑点通常是指与周围有着颜色和灰度差别的区域。在实际地图中,往往存在着大量这样的斑点,如一颗树是一个斑点,一块草地是一个斑点,一栋房子也可以是一个斑点。由于斑点代表的是一个区域,...
  • u012968002
  • u012968002
  • 2015年01月21日 15:33
  • 2830

图像特征提取:斑点检测

链接: http://doc.okbase.net/ronny/archive/102540.html
  • zhangxueyang1
  • zhangxueyang1
  • 2017年01月08日 09:59
  • 151

Opencv中SimpleBlobDetector的使用(斑点检测)

斑点检测
  • Good_Boyzq
  • Good_Boyzq
  • 2017年05月30日 20:50
  • 986

图像处理斑点

1.如何求图像的梯度? 求图像的梯度,一般是指灰度图像或者彩色图像上的操作。数字图像就是离散的点值谱,也可以叫二维离散函数。图像的梯度就是这个二维离散函数的求导。 导数(Derivative)是...
  • eereere
  • eereere
  • 2017年06月08日 20:15
  • 191

图像局部特征(六)--斑点检测之SIFT算法原理总结补充

原文: http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html             主要步骤   ...
  • App_12062011
  • App_12062011
  • 2016年06月12日 11:36
  • 927

【图像基础】局部特征点的理解

图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的M×N×3的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元...
  • horseinch
  • horseinch
  • 2016年01月11日 22:03
  • 1262
收藏助手
不良信息举报
您举报文章:线段树之单点修改(斑点蛇上数斑点)
举报原因:
原因补充:

(最多只允许输入30个字)