題目大意:給出n個數,求(x
解題思路:
題目資料量很大,暴力肯定不行的。
設現在出現的位置為x,後面比它大的數有s個。s個選兩個(y,z)有s*(s-1)/2種。此時yz無序。
然後按題目要求x
1 #include 2 #include 3 #include 4 #include 5using
namespace
std;67
const
int maxn=100005;8
const
int mod=100000007;9
intbit[maxn];
10int
n;11
12int lowbit(int
x)13
1617
void add(int x, int
val)
1824}25
26int sum(int
x)27
34return
cnt;35}
3637
intmain()
3856 printf("
case #%d: %d\n
",++tcase,ans%mod);57}
58return0;
59 }
hdu 4000 樹狀陣列
題意大致為 給乙個1 n的序列,求有序數對 x,y,z 其中x通過樹狀陣列可以得到a i 的後面含有的大於a i 的數的個數,假設個數為high,那麼有序數對 x,y,z 其中 x對於乙個數y,x include include using namespace std define mod 1000...
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要...
HDU4000 Fruit Ninja(樹狀陣列)
嗯 這題是個標題黨 媽蛋其實大部分題目都是標題黨啊我發現。一開始不會做,即便empty大神提示說這是個樹狀陣列的題目 給empty大人丟臉了 事後empty大神狠狠得指責了我。嗯 說正事,這題得求和 求出某個數之後的,比它大的數的個數n,這樣形成的組合就是c n,2 然後再減去三個順次增大的,就得到...