UVa 12086 - Potentiometers
来源:互联网 发布:伊丽莎白航母数据 编辑:程序博客网 时间:2024/05/17 07:54
題目:已知一個序列,有兩種操作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;}
0 0
- uva 12086 - Potentiometers
- uva 12086 - Potentiometers
- UVa:12086 Potentiometers
- 【uva】12086-Potentiometers
- UVa 12086 - Potentiometers
- UVA 12086 - Potentiometers(树状数组)
- uva 12086 - Potentiometers(树状数组)
- uva 12086 - Potentiometers (树状数组)
- uva 12086 - Potentiometers--树状数组
- UVA 12086 - Potentiometers(树状数组)
- UVA 12086 Potentiometers(树状数组)
- uva Potentiometers
- UVA 12086 Potentiometers(线段树)
- uva 12086 - Potentiometers(树状数组)
- UVa 12086 Potentiometers (树状数组&点修改)
- UVA 12086 Potentiometers(线段树裸题)
- UVA 2191 Potentiometers
- UVA 12086 Potentiometers(树状数组|| 线段树单点更新)
- REST简介
- 解决Incorrect integer value: '' for column 'id' at row 1的方法
- js、jQuery之控制元素的可见性
- 华为交换机基于端口划分vlan
- EventBus 使用详解
- UVa 12086 - Potentiometers
- 第一篇博客
- session源码分析 创建和销毁
- 史上最详细的Android Studio系列教程(三)--快捷键
- three.js中3D视野的缩放实现
- linux 管道、消息队列、共享内存的对比
- 版本控制二:VisualSVN server+TortoiseSVN 的安装及使用(下)
- 小知识点
- git初步教程