題目鏈結
fj有n頭牛(編號為1~n),每一頭牛都有乙個測驗值[s, e],如果對於牛i和牛j來說,它們的測驗值滿足下面的條件則證明牛i比牛j強壯:si<=sj and ej<=ei and ei-si>ej -sj。現在已知每一頭牛的測驗值,要求輸出每頭牛有幾頭牛比其強壯
陣列陣列右上方存小的,那麼我們按照y從大到小排序,x從小到大
#include#include#include#include#include//#include//#include//#include//#includeusing namespace std;
const int maxn=1e5+10;
int c[maxn],cnt[maxn];
int n;
struct point
p[maxn];
int lowbit(int t)
void add(int i,int t)
}int sum(int i)
return s;
}bool cmp(point a,point b)
int main()
sort(p+1,p+n+1,cmp);memset(cnt,0,sizeof(cnt));
memset(c,0,sizeof(c));
cnt[p[1].pos]=0;
add(p[1].x+1,1);
for(int i=2;i<=n;i++)
for(int i=1;i<=n;i++)
puts("");
}return 0;
}
POJ 2481 Cows 樹狀陣列
樹狀陣列 其實這題和 poj 2352 或者 就是道用樹狀陣列求逆序數的題目。先排序,我的排序是按照先s從小到大,如果s相等 e從大到小。貌似也沒什麼了。就樹狀陣列吧。include include include include include define inf 0x7fffffff defi...
poj 2481 Cows (樹狀陣列)
小記 之前沒做什麼修改之前,在poj上提交1393ms ac了。然後在hdu的web diy裡提交gnu c 超時了 於是不斷的改,在輸出的地方花費時間太多了。就是為了保證每兩個數之間有乙個空格,然後末尾沒有空格,我在for裡面加了乙個判斷,只要不是末尾就輸出乙個空格。然後就這樣超時了。樹狀陣列全用...
poj 2481 Cows(樹狀陣列)
題意 山坡上長滿三葉草,給定一群牛和他們喜愛的範圍 s,ei 如果一頭牛的s小於等於另一頭牛而e大於等於另一頭牛的,且s和e不同時相等,那麼這頭牛就比另一頭牛強壯。可以先對e從大到小排序,這樣保證遍歷時後出現的牛的上界一定滿足小於等於前面的,這樣只需要判斷他的下界滿不滿足就行,這就想到了用樹狀陣列。...