1. 程式人生 > >UVALIVE 4329(樹狀陣列)

UVALIVE 4329(樹狀陣列)

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2330

N (3 ≤ N ≤ 20000) ping pong players live along a west-east street(consider the street as a line segment).
Each player has a unique skill rank. To improve their skill rank, they often compete with each other. If
two players want to compete, they must choose a referee among other ping pong players and hold the
game in the referee’s house. For some reason, the contestants can’t choose a referee whose skill rank is
higher or lower than both of theirs. The contestants have to walk to the referee’s house, and because
they are lazy, they want to make their total walking distance no more than the distance between their
houses. Of course all players live in different houses and the position of their houses are all different. If
the referee or any of the two contestants is different, we call two games different. Now is the problem:
how many different games can be held in this ping pong street?
Input
The first line of the input contains an integer T (1 ≤ T ≤ 20), indicating the number of test cases,
followed by T lines each of which describes a test case.
Every test case consists of N + 1 integers. The first integer is N, the number of players. Then N
distinct integers a1, a2 . . . aN follow, indicating the skill rank of each player, in the order of west to east
(1 ≤ ai ≤ 100000, i = 1. . . N).
Output
For each test case, output a single line contains an integer, the total number of different games.
Sample Input
1
3 1 2 3
Sample Output
1

人生樹狀陣列的第一發。。。

雖然這道題目上在演算法競賽的藍皮上有題解,但是沒有程式碼,打起來還是好吃力,表示程式碼能力太差了,有時候給我題解也解不出來。看來應該要好好的鍛鍊一下了。然後具體的解法就看藍皮書的197頁吧,很詳細。

相關推薦

UVALIVE 4329陣列

https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2330 N (3 ≤ N ≤ 20000

LA 4329陣列

N (3N20000) ping pong players live along a west-east street(consider the street as a line segment). Each player has a unique skill rank.

2018.10.29 bzoj3718: [PA2014]Parking陣列

傳送門 顯然只用判斷兩個會相交的車會不會卡住就行了。 直接樹狀陣列維護字尾最大值就行了。 程式碼: #include<bits/stdc++.h> using namespace std; const int N=5e4+5; struct Matrix{int x1,x

洛谷P4303 [AHOI2006]基因匹配陣列

傳送門   我已經連這種傻逼題都不會了orz 正常的dp是$O(n^2)$的,列舉第一個陣列的$j$,然後第二個陣列的$k$,如果相等,則$dp[i]=dp[j]+1$,否則$dp[i]=dp[j]$ 然後發現可以用樹狀陣列優化這個過程…… 不知道講清楚沒有因為我自己都還有點懵

牛客網暑期ACM多校訓練營第五場H subseq陣列

題意 給定一個序列 a[1..n],求下標字典序第 k 小的嚴格遞增子序列 題解 考慮逐位確定,每次計算 a[i…n] 中,以a[i]這個數字為開頭的嚴格遞增子序列的個數,用樹狀陣列統計,然後1…n與k比較,小於k就減去dp[i],否則就放a[i],當然要保證a[i]大於前一個放的數;這

洛谷2889 [USACO07NOV]擠奶的時間Milking TimeDP陣列

題意 奶牛Bessie在0~N時間段產奶。農夫約翰有M個時間段可以擠奶,時間段f,t內Bessie能擠到的牛奶量e。奶牛產奶後需要休息R小時才能繼續下一次產奶,求Bessie最大的擠奶量。 如果在(si,ti)時刻擠奶,那麼休息完的時間是si+r,即下一次可以擠奶的最早時間是(si+r,..

洛谷3287 [SCOI2014]方伯伯的玉米田DP陣列

題目 方伯伯在自己的農田邊散步,他突然發現田裡的一排玉米非常的不美。這排玉米一共有N株,它們的高度參差不齊。方伯伯認為單調不下降序列很美,所以他決定先把一些玉米拔高,再把破壞美感的玉米拔除掉,使得剩下的玉米的高度構成一個單調不下降序列。方伯伯可以選擇一個區間,把這個區間的玉米全部拔高1單位高

洛谷3463 [POI2007]EGZ-Driving ExamDP陣列

題目 成都的駕駛考試在一個有n條平行的自南向北的單向的道路的場地中進行。每條道路長度為m米,並且都在同一條水平線上開始和結束。街道從西向東分別編號為1到n。同樣有p條單向的自西向東或自東向西的街道垂直於上面描述的街道,每一條這樣的街道連結了兩個相鄰的自南向北的道路。當然自西向東和自東向西的道

Codeforces 1076E Vasya and a Tree陣列

題意:給你一顆以1為根節點的樹,初始所有節點的權值為0,然後有m個操作,每個操作將點x的所有距離不超過d的節點權值+1,問經過m次操作後每個節點權值是多少? 思路:如果是一個序列,就可以直接用樹狀陣列做,但這是一顆樹,所以我們可以想辦法把它轉化成序列。我們可以先求出每個節點的dfs序,以及深度和子樹的大小,

[BZOJ4378][POI2015]Logistyka陣列

Address 洛谷P3586 BZOJ4378 Solution 顯然我們的重點在詢問。(廢話) 先說結論: 設數集中 ≥ s

BZOJ4888 Tjoi2017異或和陣列

  化為字首和相減。考慮每一位的貢獻。則需要快速查詢之前有幾個數和當前數的差在第k位上為1。顯然其與更高位是無關的。於是用BIT維護後k位的數的出現次數,瞎算一算即可。 // luogu-judger-enable-o2 #include<iostream> #include<cs

51nod 1672優先佇列陣列

1672 區間交  基準時間限制:1 秒 空間限制:131072 KB 分值: 40 難度:4級演算法題  收藏  關注 小A有一個含有n個非負整數的數列與m個區間,每個區間可以表示為li,ri。 它

【BZOJ2762】[JLOI2011]不等式組陣列

題目: 分析: 加入的不等式分三種情況 當a>0a>0,可以變成x>⌊c−ba⌋x>⌊c−ba⌋ 當a=0a=0,若b>cb>c則恆成立,否則恆不成立 當a<0a<0,可以變成x<⌈c−ba

2018.09.26【TJOI2017】【BZOJ4888】【洛谷P3760】異或和陣列差分

洛谷傳送門 解析: 額,TJOITJOITJOI連續兩年考了位運算。。。 我還能說什麼。。。 PS:zxyoiPS:zxyoiPS:zxyoi不是天津oieroieroier。 思路: 一般位運算都

hdu 1694 Minimum Inversion Number 陣列

題目連結:哆啦A夢傳送門 題意:給你一串n個值,每個a[i] 範圍在 [ 0 , n-1 ] ,然後我們可以把序列的頭部移到尾部,這樣就有n中不同的序列,問:在這n條序列中逆序數最少的是多少? 題解:我們可以用樹狀陣列,具體看程式碼註釋。 樹狀陣列模板:樹狀陣列 #inclu

洛谷P3616 富金森林公園題解陣列

P3616 富金森林公園 題目描述 博艾的富金森林公園裡有一個長長的富金山脈,山脈是由一塊塊巨石並列構成的,編號從1到N。每一個巨石有一個海拔高度。而這個山脈又在一個盆地中,盆地裡可能會積水,積水也有一個海拔高度,所有嚴格低於這個海拔高度的巨石,就會在水面下隱藏

洛谷2184 貪婪大陸陣列

傳送門 【題目分析】 考慮每次是在區間[l,r]中埋一種,所以記錄每次的左右端點,查詢一段區間[l,r]就是統計1~r中埋了多少雷,再減去1~l-1中埋完的雷(即右端點)即可。 所以用兩個樹狀陣列維護左右端點資訊即可。(常數比線段樹要小) 【程式碼~】 #inclu

Codeforces-1076E:Vasya and a Tree陣列

E. Vasya and a Tree time limit per test 2 seconds memory limit per test 256 megabytes inputstandard input outputstandard output Vas

HDU-1166 敵兵佈陣陣列

樹狀陣列(Binary Indexed Tree(B.I.T))是能夠完成下述操作的資料結構。 給一個初始值全為0的數列a1,a2,……,an 給定i,計算a1+a2+…+ai (sum) 給定i和x,執行ai += x (update) 由上圖所知: