POJ
来源:互联网 发布:淘宝网儿童女式凉鞋 编辑:程序博客网 时间:2024/06/05 08:38
注意输入有0出现,BIT不好处理,所以在输入的时候加1
// 树状数组// http://blog.csdn.net/niushuai666/article/details/7389273#include <cstdio>#include <string.h>#define MAX 32000 + 10using namespace std;typedef long long LL;LL c[MAX];LL ans[MAX];LL lowbit( LL i ) { return i & ( -i );}void update( LL i, LL val, LL n ) { while( i <= n ) { c[i] = c[i] + val; i = i + lowbit( i ); }}LL getSum( LL i ) { LL ans = 0; while( i > 0 ) { ans = ans + c[i]; i = i - lowbit( i ); } return ans;}int main() { LL n; while( scanf( "%lld", &n ) != EOF ) { memset( c, 0, sizeof( c ) ); memset( ans, 0, sizeof( ans ) ); LL x, y; for( LL i = 1; i <= n; i++ ) { scanf( "%lld%lld", &x, &y ); x++; //有0出现,树状数组无法处理。故+1 ans[getSum( x )]++; //先统计,不包括本身 update( x, 1, MAX ); //加入 } for( LL i = 0; i < n; i++ ) { printf( "%lld\n", ans[i] ); } } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- vue.js安装过程(npm安装)
- [C++]vector中的insert、resize和reserve的用法
- 注解原来是这么一回事儿
- 用正则表达式实现查出二进制数是3的倍数
- swunoj 1877 回忆的碎片
- POJ
- 商品展示
- C语言内存管理详解
- centos6.5下搭建MySql集群
- 个人记录《android map》
- HDU 1.2.4
- Android--网络图片查看器
- Android学习日志——第10天
- appium的python脚本编写前准备(三)