這題樹狀陣列明顯可解,不解釋,但是注意有相同的奶牛的處理 **
#include#include#include#include#define n 100005
using namespace std;
int c[n],tem;
struct dian
d[n];
int cmp(dian a,dian b)
int lowbit(int n)
int sum(int n)
return ans;
}void update(int n,int k)
}int main()
{ int n,count[n],i;
while(1)
{ memset(c,0,sizeof(c));
tem=-0x7fffffff;
scanf("%d",&n);
if(n==0)
return 0;
for(i=0;i
poj 2481 樹狀陣列
解法2 按si值做降序排序後,相當於求每個位置i左邊大於等於e i 的個數 樹狀陣列更新節點的路徑和求和的路徑要改變,getsum i 相當於求i i 1 maxn include include using namespace std const int maxn 100010 int sum m...
POJ2481 樹狀陣列
題意 給n個節點的s和e,求對於每個節點,其他節點和它的關係滿足si sj and ej ei and ei si ej sj 的個數 題解 由於e的關係遞減,s的關係遞增,因此可以先對e排序,然後利用樹狀陣列更新並查詢每個sj在其之前的si的個數就是問題的解 include include inc...
poj2481樹狀陣列
每個牛有乙個區間 s,e 兩個牛 s1,e1 s2,e2 當s1 s2並且e1 e2並且e1 s1 e2 s2時,我們說牛1比牛2強,給n個牛的區間,對於每個牛,輸出比這個牛強的牛的個數。還是需要預處理,先對每個牛的e進行降序排序,e相同時對s進行公升序排列,這樣迴圈時可以保證後邊的牛絕對不比前邊的...