HDU 1166 敌兵布阵

线段树,单点修改,区间查询 

#include <stdlib.h>
#include <cstdio>
#include <iostream>
#include <queue>
#include <stack>
#include <string.h>
#include <math.h>
#include <algorithm>

#define mem(t, v)   memset ((t) , v, sizeof(t))
#define INF 0x3f3f3f3f
#define eps 1e-8
typedef long long ll;

using namespace std;

const int MAX=50050;
int t,n;
char cmd[10];
struct node{
    int sum,l,r;
}tree[MAX*4];
int in[MAX];

void Build(int i,int l,int r){
    tree[i].l=l,tree[i].r=r;
    if(l==r){
        tree[i].sum=in[l];
        return ;
    }
    int mid=(l+r)>>1;
    Build(i<<1,l,mid);
    Build(i<<1|1,mid+1,r);
    tree[i].sum=tree[i<<1].sum+tree[i<<1|1].sum;
}

void add(int i,int x,int y){
    if(tree[i].l==tree[i].r){
        tree[i].sum+=y;
        return ;
    }
    if(tree[i<<1].r>=x)add(i<<1,x,y);
    if(tree[i<<1|1].l<=x)add(i<<1|1,x,y);
    tree[i].sum=tree[i<<1].sum+tree[i<<1|1].sum;
}

int Search(int i,int l,int r){
    if(tree[i].l>=l&&tree[i].r<=r){
        return tree[i].sum;
    }
    if(tree[i].l>r||tree[i].r<l)return 0;
    int s=0;
    if(tree[i<<1].r>=l)s+=Search(i<<1,l,r);
    if(tree[i<<1|1].l<=r)s+=Search(i<<1|1,l,r);
    return s;
}

int main(){
    scanf("%d",&t);
    for(int k=1;k<=t;k++){
        printf("Case %d:\n",k);
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&in[i]);
        }
        Build(1,1,n);
        int x,y;
        while(1){
            scanf("%s",cmd);
            if(cmd[0]=='A'){
                scanf("%d%d",&x,&y);
                add(1,x,y);
            }
            else if(cmd[0]=='Q'){
                scanf("%d%d",&x,&y);
                int ans=Search(1,x,y);
                printf("%d\n",ans);
            }
            else if(cmd[0]=='S'){
                scanf("%d%d",&x,&y);
                add(1,x,-y);
            }
            else break;
        }
    }
}

 

今天向大家介绍一款非常好用的单机版OCR图文识别软件,它不仅功能多,识别能力强,而且还是免费使用的。OCR软件为什么要使用单机版,懂得都懂,因为如果使用在线识别的OCR软件,用户需要将文档上传互联网服务器的,这样就会导致某些敏感信息暴露在互联网上,导致信息泄露。 软件特色:   1、识别率高、速度快:对于被划分区域内的文字有很高的识别率,而且速度同样很快。   2、导出功能:清华TH-OCR官方版可以将带有表格的文当导出成为RTF格式的文件,从而允许用户在Word等应用程序中继续进行编辑。   3、版面自动分析:对图文混排的文件具有版面自动分析功能,它自动对扫描的版面进行分析,把应识别的文字区域划分出来,之后进行识别。   4、转换图像格式:将扫描进来的图像格式转换成TIFF、BMP或PCZ等格式,具有很大的灵活性。   5、批量识别:可以让用户一次把多页文稿全部扫描之后再进行识别,避免了扫描一页识别一页带来的麻烦,这一版本最多可实现10000页的批量识别。   6、手写体识别:手写的信件或文件就可以扫描到计算机中,识别出来后用电子文档的方式进行保存。   7、自学习:当遇到有生僻字时,可以通过键盘输入进行学习,用户就可以自由地添加一些本来不“认识”的字,大大拓宽了中文OCR系统的识别字符集。   8、排版功能:汉字和英文混排、日文和英文混排、韩文和英文混排同时识别。   9、识别能力:是唯一可以识别2万多汉字的多体文字识别系统,汉字识别国内最优。   10、支持多接口:文通TH-OCR支持WINDOWS环境和GB、BIG5、GBK、JIS、 SHIFT-JIS和KSC等多种内码,适合全球各个地区使用。TH-OCR还具有自学习功能,不论什么生僻字,都可以通过键盘输入进行学习,大大拓宽了OCR系统的识别字符集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值