博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树状数组_一维
阅读量:5104 次
发布时间:2019-06-13

本文共 875 字,大约阅读时间需要 2 分钟。

// 模板水题 敌兵布阵 HDU - 1166 // 模板中档题  HDU - 5147 class TreeArray{public:    const static int cmaxn = 1e5;  /// Todo:  修改区间的最大值    int cdate[cmaxn];     int max_sz;  // 表示元素的个数 在init初始化        void init(int size) {        memset(cdate, 0, sizeof(cdate));        max_sz = size; // 初始化本次样例的元素的个数    }        void init(int size, int array[], int len) {        memcpy(cdate, array, sizeof(int)*len);        max_sz = size;    }        inline int lowbit(int idx) { return idx & -idx; }    void update(int idx, int val) {        for (; idx<=max_sz; idx+=lowbit(idx))             cdate[idx] += val;    }        int getsum(int idx) {        int res = 0;        for (; idx>0; idx-=lowbit(idx))             res += cdate[idx];        return res;    }        int getsum(int left, int right) {        return getsum(right) - getsum(left-1);    }};

 

转载于:https://www.cnblogs.com/cgjh/p/9347549.html

你可能感兴趣的文章
C#.NET 生成分页SQL代码(NOT IN/TOP TOP/Top MAX)三种方法,支持ACCESS
查看>>
让爱编译通过
查看>>
java通过url调用远程接口返回json数据
查看>>
【循序渐进学Python】5.Python常用流程控制及其他语句
查看>>
深入理解linux启动过程
查看>>
Python建立Web应用
查看>>
php
查看>>
使用requests模块post payload请求
查看>>
javascript console
查看>>
Linux时间子系统之(六):POSIX timer
查看>>
Linux内存管理 (20)最新更新和展望
查看>>
js实现图片自适应
查看>>
不要重复你自己(复用代码)
查看>>
再读三命通会(7)
查看>>
【操作系统】【进程】进程各状态关系图
查看>>
Qt 线程基础(QThread、QtConcurrent等)
查看>>
【转载】深入探讨透视投影坐标变换
查看>>
使用BindingList来实现DataGridview数据源为list时的动态增删改
查看>>
pickle模块的基本使用
查看>>
leetcode 347. Top K Frequent Elements
查看>>