树状数组 POJ 2352 Star

来源:互联网 发布:好看的男士手套知乎 编辑:程序博客网 时间:2024/05/21 07:26


#include <iostream>#include <string>using namespace std;#define SIZE 320010int tree[SIZE];int level[SIZE];int max_size;int lowBit( int index ){return index & ( -index );}void update( int index, const int& val ){    while( index <= SIZE ){    tree[index] += val;index       += lowBit( index );}}int getSum( int index ){    int sum = 0;while( index >= 1 ){    sum   += tree[index];index -= lowBit( index );}return sum;}int main(){        int x, y;        memset( tree,  0, sizeof( tree ) );memset( level, 0, sizeof( level ) );    cin >> max_size;for( int i = 1; i <= max_size; ++i ){cin >> x >> y;x++;level[getSum( x )]++;update( x, 1 );}for( int j = 0; j < max_size; ++j )         cout << level[j] << endl;        return 0;}


原创粉丝点击