第一行包括乙個整數n(1<=n<=50000),表示數列a中的元素數。
第二行包括n個整數a1...an(ai>0,保證ai在int內)。
接下來一行包括乙個整數m(1<=m<=50000),表示詢問的個數。
接下來m行,每行包括2個整數l、r(1<=l<=r<=n),表示詢問al...ar中的逆序
對數(若ai>aj且i對每個詢問,單獨輸出一行,表示al...ar中的逆序對數。
4
1 4 2 3
1
2 4求區間逆序對……
連修改都沒有,水題!
我們記f[i][j]為i~j塊的總逆序對數,處理散塊的時候除了+另一端的貢獻,記得把整塊的貢獻加上~
#includeusing namespace std;
const int n = 5e4+10,maxsiz = 233;
#define inc(i,l,r) for(register int i=(l);i<=(r);++i)
#define red(i,r,l) for(register int i=(r);i>=(l);--i)
int n,q,a[n];
int siz,bl[n];
int sum_bigger[maxsiz][n];//1~i個塊大於等於我的個數
int sum_smaller[maxsiz][n];//i~n個塊小與等於的個數
int f[maxsiz][maxsiz];//塊與塊的逆序對總個數
struct suffix
inline int sum(int x)
}sf;
inline void disc()
inline void init()
inc(i,1,n)++sum_smaller[bl[i]][a[i]];
red(i,bl[n],1)
//n√nlogn
inc(i,1,bl[n])
f[i][j]=ret;
} }}int las_ans;
inline int query(int l,int r)else
return las_ans=ret;
}inline void solv()
}int main()
bzoj3744 Gty的妹子序列
time limit 20 sec memory limit 128 mb submit 967 solved 293 submit status discuss 我早已習慣你不在身邊,人間四月天 寂寞斷了弦。回望身後藍天,跟再見說再見 某天,蒟蒻autumn發現了從 gty的妹子樹 bzoj372...
BZOJ 3744 Gty的妹子序列
第一行包括乙個整數n 1 n 50000 表示數列a中的元素數。第二行包括n個整數a1 an ai 0,保證ai在int內 接下來一行包括乙個整數m 1 m 50000 表示詢問的個數。接下來m行,每行包括2個整數l r 1 l r n 表示詢問al ar中的逆序 對數 若ai aj且i 對每個詢問...
bzoj3744 Gty的妹子序列
我早已習慣你不在身邊,人間四月天 寂寞斷了弦。回望身後藍天,跟再見說再見 某天,蒟蒻autumn發現了從 gty的妹子樹 bzoj3720 上掉落下來了許多妹子,他發現她們排成了乙個序列,每個妹子有乙個美麗度。bakser神犇與他打算研究一下這個妹子序列,於是bakser神犇問道 你知道區間 l,r...