題目:已知一個序列,有兩種操作S x y:將第x各元素替換成y,M x y:求第x倒第y各元素的和。

分析:數據結構,樹狀數組。區間操作直接用樹狀數組或線段樹。

說明:╮(╯▽╰)╭。

#include <cstring>
#include <cstdio>int data[200002];
int C[200002];int lb(int x) {return x&-x;}int sum(int k)
{int value = C[k];while (k > lb(k)) value += C[(k-=lb(k))];return value;
}void add(int k, int d, int n)
{C[k] += d;while (k+lb(k) <= n) C[(k+=lb(k))] += d;
}int main()
{int  cases = 0, n, x, y;char buf[10];while (~scanf("%d",&n) && n) {memset(C, 0, sizeof(C));for (int i = 1; i <= n; ++ i) {scanf("%d",&data[i]);add(i, data[i], n);}if (cases ++) puts("");printf("Case %d:\n",cases);while (~scanf("%s",buf) && buf[0] != 'E') {scanf("%d%d",&x,&y);if (buf[0] == 'S') {add(x, y-data[x], n);data[x] = y;}else printf("%d\n",sum(y)-sum(x-1));}}return 0;
}

UVa 12086 - Potentiometers相关推荐

  1. uva 12086 - Potentiometers(树状数组)

    题目链接:uva 12086 - Potentiometers 题目大意:给定n个整数,两个操作, S x y:把第x个数变成y M x y:计算第x个数到第y个数的总和 解题思路:用num数组记录每 ...

  2. UVA - 12086 - Potentiometers - (单点更新,区间查询)

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  3. UVA 12086 Potentiometers(线段树裸题)

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  4. UVa:12086 Potentiometers

    区间求和,单点改值.用线段树实现.封装成了一个类. #include <iostream> #include <cstdio> #include <cstring> ...

  5. uva 12086 - Potentiometers--树状数组

    // // main.cpp // uva 12086 - Potentiometers--树状数组 // // Created by XD on 15/9/10. // Copyright (c) ...

  6. UVA 12086 (树状数组)

    题目网址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. uva 12086 线段树or树状数组练习

    题目链接   https://vjudge.net/problem/34215/origin 这个题就是线段树裸题,有两种操作,实现单点更新和区间和的查找即可,这里第一次学习使用树状数组完成. 二者相 ...

  8. UVa OJ 12086

    1.Fenwick树的基础题,没什么花头,就是套模板,居然因为s数组开小了而WA,囧... #include<cstdio> #include<cstring> using n ...

  9. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

最新文章

  1. 字符串全排列的问题 python和c语言实现
  2. am5718_AM5718如何扩大内存 - Sitara™ Cortex-A8 和 ARM9 微处理器 - Sitara™ Cortex-A8 和 ARM9 微处理器 - E2E™ 中文支持论坛...
  3. MATLAB_no.3:关于车牌的.
  4. 用WDM开发USB驱动程序
  5. 《编码:隐匿在计算机软硬件背后的语言(美)》读书笔记六
  6. 数组最大可以开多大_每日算法系列【LeetCode 689】三个无重叠子数组的最大和
  7. 复地邮箱服务器地址,打印服务器设置方法
  8. Windows 0day成功验证之ETERNALBLUE
  9. 企业应当如何编制信息安全策略
  10. 第一百零六节,JavaScript变量作用域及内存
  11. 推荐几个很好的资源下载网站
  12. 引用腾讯地图时出现”鉴权失败,请传入正确的key“
  13. linux第一周作业
  14. Flutter实现google登陆(gmail)
  15. 目标检测特殊层:Proposal层
  16. 使用python的requests模块实现百思不得其姐抓取(多线程版)
  17. HTML小游戏16 —— 消除游戏《魔法石》源码(附完整源码)
  18. cml sml区别_资本资产定价模型中cml与sml有什么区别?
  19. python format使用
  20. 苹果手机基带坏了怎么办

热门文章

  1. Datawhale 图神经网络 Task05 超大图上的节点表征学习
  2. Linux 中文显示
  3. Box Shadow(阴影)-Css3写法示例
  4. vue组件使用 - photo-sphere-viewer加载360°全景图片
  5. 如何减少电脑内存占用或优化内存?
  6. jboss启动常见的错误
  7. 基于STM32的正点原子LORA模块通信网络
  8. 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)
  9. 《幸福就在你身边》第五课、幸福就在当下【哈佛大学幸福课精华】
  10. 可穿戴设备在娱乐领域的应用:音乐、电影和游戏