題意大致為:給乙個1-n的序列,求有序數對(x,y,z)其中x通過樹狀陣列可以得到a[i]的後面含有的大於a[i]的數的個數,假設個數為high,那麼有序數對(x,y,z)其中(x對於乙個數y,x#include #include using namespace std;
#define mod 100000007
int n;
long long a[100005];
int c[100005];
int lowbit(int x)
int getsum(int x)
return sum;
}void update(int x,int s)
}int main()
{ int t;
int cot=0;
scanf("%d",&t);
while (t--)
{scanf("%d",&n);
for (int i=0;i
hdu4000樹狀陣列
給出n個數,求所有的i 題目也就是讓最後那個數第二大。我們輸入第i個數字a,那麼我們用的樹狀陣列存的就是sum a 1 sum a 1 表示在a這個位置,在前i 1個數中,有sum a 1 個數比a小,那麼我們就可以求出在後面的 i 1,n 的序列中,有r n a i 1 sum a 1 個數比a要...
HDU 4000 樹狀陣列
題目大意 給出n個數,求 x 解題思路 題目資料量很大,暴力肯定不行的。設現在出現的位置為x,後面比它大的數有s個。s個選兩個 y,z 有s s 1 2種。此時yz無序。然後按題目要求x 1 include 2 include 3 include 4 include 5 using namespac...
HDU4000 Fruit Ninja(樹狀陣列)
嗯 這題是個標題黨 媽蛋其實大部分題目都是標題黨啊我發現。一開始不會做,即便empty大神提示說這是個樹狀陣列的題目 給empty大人丟臉了 事後empty大神狠狠得指責了我。嗯 說正事,這題得求和 求出某個數之後的,比它大的數的個數n,這樣形成的組合就是c n,2 然後再減去三個順次增大的,就得到...