树状数组
来源:互联网 发布:软件数据字典设计 编辑:程序博客网 时间:2024/05/06 20:48
#include <iostream> #include <cstdio> #include <string.h> using namespace std; int c[32001]; int a[15010]; int lowbit(int x){ return x&(-x); } void modify(int i){ while(i<=32001){ c[i]++; i+=lowbit(i); } } int sum(int i){ int s=0; while(i>0){ s+=c[i]; i-=lowbit(i); } return s; } int main(){ int n; scanf("%d",&n); int x,y; for(int i=1;i<=n;i++){ scanf("%d%d",&x,&y); a[sum(++x)]++; modify(x); } for(int i=0;i<n;i++){ printf("%d\n",a[i]); } return 0; }
0 0
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- activiti 动态表单+easyui 实现启动流程功能(三)
- 程序设计
- 你是码农还是优秀程序员?
- linux命令
- 建立全文索引
- 树状数组
- log4j.properties配置详解与实例-全部测试通过
- 深入理解乐观锁与悲观锁
- 扩展欧几里得
- 使用MyCat实现MySQL的分片处理和读写分离
- Ubuntu 16.04 编译Android 6.0系统源码
- Java求解大数、负数项斐波那契数列
- 数据结构基础温故-1.线性表
- Android APP字体大小跟随系统设置