HDOJ 1166 敌兵布阵(超裸树状数组)
来源:互联网 发布:高考网络应用平台 编辑:程序博客网 时间:2024/05/29 13:51
题意:裸树状数组,点更新区间查询
第一道树状数组,写的很详细
#include <bits/stdc++.h>using namespace std;const int maxn = 51000;int arr[maxn];int tree[maxn];int n;int lowbit(int x){ return x & -x;}void update(int pos, int delta){ while (pos <= n) { tree[pos] += delta; pos += lowbit(pos); }}int query(int pos){ if (pos == 0) return 0; int ret = 0; while (pos) { ret += tree[pos]; pos -= lowbit(pos); } return ret;}enum CMD_TYPE{CMD_QUERY, CMD_ADD, CMD_SUB, CMD_END};int get_cmd(){ int ret; char cmd_str[10]; scanf("%s", cmd_str); switch (cmd_str[0]) { case 'Q': ret = CMD_QUERY; break; case 'S': ret = CMD_SUB; break; case 'A': ret = CMD_ADD; break; default: ret = CMD_END; break; } return ret;}void do_query(){ int fr, to; scanf("%d%d", &fr, &to); printf("%d\n", query(to) - query(fr-1));}void do_add(){ int pos, delta; scanf("%d%d", &pos, &delta); update(pos, delta);}void do_sub(){ int pos, delta; scanf("%d%d", &pos, &delta); update(pos, -delta);}int main(){ int T; scanf("%d", &T); for (int ca = 1; ca <= T; ca++) { printf("Case %d:\n", ca); scanf("%d", &n); memset(tree, 0, sizeof(tree)); for (int i = 1; i <= n; i++) { scanf("%d", &arr[i]); update(i, arr[i]); } int cmd; while ((cmd = get_cmd()) != CMD_END) { switch (cmd) { case CMD_QUERY: do_query(); break; case CMD_ADD: do_add(); break; case CMD_SUB: do_sub(); break; default: break; } } } return 0;}
0 0
- HDOJ 1166 敌兵布阵(超裸树状数组)
- hdoj 1166 敌兵布阵 (树状数组)
- hdoj 1166 敌兵布阵 (树状数组)
- HDOJ 1166 敌兵布阵(树状数组)
- hdu hdoj 1166 敌兵布阵 树状数组
- hdoj-1166-敌兵布阵(树状数组)
- HDOJ 敌兵布阵 1166(树状数组)
- HDOJ-----1166敌兵布阵(树状数组)
- hdoj 1166 敌兵布阵 (树状数组模板)
- HDOJ 敌兵布阵 (树状数组解法)
- (树状数组)敌兵布阵 -- HDOJ
- hdoj 1166 敌兵布阵(树状数组)
- HDOJ 题目1166敌兵布阵(树状数组)
- HDOJ 1166 敌兵布阵(一维树状数组)
- hdoj-1166敌兵布阵(线段树&&树状数组)
- hdu 1166 敌兵布阵(裸树状数组)
- hdu - 1166 - 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 (树状数组)
- Frog Jump
- rpcgen
- 06 数组
- 【计算机视觉】双目测距(六)--三维重建及UI显示
- PAT 1104. Sum of Number Segments
- HDOJ 1166 敌兵布阵(超裸树状数组)
- Beaglebone Black通过usb和Linux Mint共享上网
- Android studio 背景、图标、APP名字设置
- java中代码执行速度问题
- 请求附带参数写法
- 内外网或则说多个网络同时使用脚本
- 设置报表中表头显示的问题
- 第11周项目1 -二叉树算法验证(2)二叉树构造算法验证
- 关于fread函数不能读全文件问题分析