hdu 2689 Sort it

树状数组求逆序数

#include
#include
#include
#include
#include
using namespace std;
const int maxn=10100;
int n;
arrayc;
template
void add(T i,T x)
{
    while(i<=n)
    {
        c[i]+=x;
        i+=i&(-i);
    }
}
template
T sum(T i)
{
    T k(0);
    while(i>0)
    {
        k+=c[i];
        i-=i&(-i);
    }
    return k;
}
template
void chu(T &c)
{
    for(int i=0;i<=maxn;i++)
        c[i]=0;
}
int main()
{
    while(~scanf("%d",&n))
    {
        chu(c);
        int ans(0),a;
        for(int i=0; i


你可能感兴趣的:(hdu,树状数组)