国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

樹狀數組

2019-11-06 06:34:32
字體:
來源:轉載
供稿:網友

1、POJ 3468 A Simple PRoblem with Integers

參考:《挑戰程序設計競賽》P182

區間同時加上一個數,區間求和

#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <queue>#include <vector>#include <stack>#include <map>#include <set>#include <cmath>#include <cctype>#include <ctime>#include <cassert>using namespace std;#define REP(i, n) for (int i = 0; i < (n); ++i)#define eps 1e-9#define lson low, mid, _id << 1#define rson mid + 1, high, _id << 1 | 1typedef long long ll;typedef pair<int, int> pii;const int INF = 0x7fffffff;const int maxn = 1e5 + 10;int N, Q, A, a, b, c;char cmd[2];ll c0[maxn], c1[maxn];inline ll lowbit(int x) { return x & (-x); }void update(ll *c, ll x, ll add);ll query(ll *c, ll x);int main() {#ifdef __AiR_H    freopen("in.txt", "r", stdin);//    freopen("out.txt", "w", stdout);#endif // __AiR_H    scanf("%d %d", &N, &Q);    for (int i = 1; i <= N; ++i) { scanf("%d", &A); update(c0, i, A); }    while (Q--) {        scanf("%s", cmd);        if (cmd[0] == 'C') {            scanf("%d %d %d", &a, &b, &c);            update(c0, a, -c * (a - 1)); update(c0, b + 1, c * b);            update(c1, a, c); update(c1, b + 1, -c);        } else {            scanf("%d %d", &a, &b);            ll ans = 0;            ans += query(c0, b) + query(c1, b) * b;            ans -= query(c0, a - 1) + query(c1, a - 1) * (a - 1);            printf("%lld/n", ans);        }    }#ifdef __AiR_H    printf("Time used = %.2fs/n", (double)clock() / CLOCKS_PER_SEC);#endif // __AiR_H    return 0;}void update(ll *c, ll x, ll add) {    while (x <= N) { c[x] += add; x += lowbit(x); }}ll query(ll *c, ll x) {    ll ret = 0;    while (x > 0) { ret += c[x]; x -= lowbit(x); }    return ret;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹰潭市| 六安市| 屏山县| 曲阜市| 阿克苏市| 浪卡子县| 安乡县| 太原市| 德令哈市| 寻乌县| 邳州市| 衢州市| 颍上县| 柏乡县| 饶河县| 阿尔山市| 河曲县| 卢氏县| 灵台县| 大田县| 宣威市| 通海县| 定西市| 四子王旗| 诏安县| 平远县| 云南省| 镇雄县| 临沂市| 卫辉市| 伊吾县| 蒙城县| 临夏市| 吐鲁番市| 轮台县| 桂平市| 阿勒泰市| 册亨县| 中卫市| 昆山市| 应用必备|