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

COGS.264.数列操作(分块 单点加 区间求和)

题目链接

#include<cmath>
#include<cstdio>
#include<cctype>
#include<algorithm>
using namespace std;
const int N=1e5+5;

int n,m,A[N],size,belong[N],sum[N]/*某块的总和*/,tag[N]/*某块的加标记*/;

inline int read()
{
    int now=0,f=1;register char c=getchar();
    for(;!isdigit(c);c=getchar())
      if(c=='-') f=-1;
    for(;isdigit(c);now=now*10+c-'0',c=getchar());
    return now*f;
}

int Query(int l,int r)
{
    int res=0;
    for(int i=l;i<=min(r,belong[l]*size);++i)
        res+=A[i];
    if(belong[l]!=belong[r])
        for(int i=(belong[r]-1)*size+1;i<=r;++i)
            res+=A[i];
    for(int i=belong[l]+1;i<belong[r];++i)
        res+=sum[i];
    return res;
}

int main()
{
    freopen("shulie.in","r",stdin);
    freopen("shulie.out","w",stdout);

    n=read();size=sqrt(n);
    for(int i=1;i<=n;++i)
    {
        belong[i]=(i-1)/size+1;
        A[i]=read(), sum[belong[i]]+=A[i];
    }
    m=read();char opt[6];int a,b;
    while(m--)
    {
        scanf("%s",opt);a=read(),b=read();
        if(opt[0]=='A')
            A[a]+=b, sum[belong[a]]+=b;
        else
            printf("%d\n",Query(a,b));
    }

    return 0;
}

转载于:https://www.cnblogs.com/SovietPower/p/8435088.html

相关文章:

  • HDU 2196 Computer 经典树形DP
  • 【python】-字典的使用
  • Android Development Tools for Eclipse.pdf
  • 推荐引擎算法学习导论
  • 使用 RAID 与 LVM 磁盘阵列技术
  • C#脚本实践(六): 脚本相对于C++的优势
  • 二维数组作为函数参数传递剖析(转载)
  • 基于贝叶斯平均的产品排序方法
  • Oracle Database Instant Client即时客户端配置使用
  • XML技术
  • 非正常关闭数据库服务的不同告警信息的表现的测试
  • 小甲鱼OD学习第10讲
  • mysql基本使用
  • web前端【第十篇】jQuery基本语法
  • 长春考驾照(电子路考)的经历
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • css选择器
  • Linux链接文件
  • PHP 的 SAPI 是个什么东西
  • Python利用正则抓取网页内容保存到本地
  • Yeoman_Bower_Grunt
  • 大型网站性能监测、分析与优化常见问题QA
  • 排序算法之--选择排序
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 怎么将电脑中的声音录制成WAV格式
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #pragma once
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #图像处理
  • $().each和$.each的区别
  • (2.2w字)前端单元测试之Jest详解篇
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (k8s中)docker netty OOM问题记录
  • (SpringBoot)第二章:Spring创建和使用
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • .Net 6.0 处理跨域的方式
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET的数据绑定
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • ::before和::after 常见的用法
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @Autowired自动装配
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @property python知乎_Python3基础之:property
  • @Query中countQuery的介绍
  • @RequestBody与@ModelAttribute
  • @Transactional 竟也能解决分布式事务?
  • []sim300 GPRS数据收发程序