牛客 Laptop 二維偏序

2021-10-01 19:46:20 字數 1251 閱讀 3049

題面:

fst是一名可憐的小朋友,他很強,但是經常fst,所以rating一直低迷。 但是重點在於,他非常適合acm!並在最近的區域賽中獲得了不錯的成績。 拿到獎金後fst決定買一台新筆記本,但是fst發現,在**能承受的範圍內,筆記本的記憶體和速度是不可兼得的。 可是,有一些筆記本是被另外一些「完虐」的,也就是記憶體和速度都不高於另外某乙個筆記本,現在fst想統計一下有多少筆記本被「完虐」。

輸入描述: 第一行乙個正整數n, 表示筆記本的數量。

接下來n行,每行兩個正整數mi,si表示這款筆記本的記憶體和速度。 n≤105,mi,si≤109

輸出描述: 一行,乙個正整數,表示被完虐的筆記本數。輸入4

100 700

200 500

50 100

300 400輸出1

解釋:在看cdq分治(不會)看到三維偏序(不會)看到二維偏序(總算會了),

這題看起來暴力可行 但是o(n^2);

剛剛看了二維偏序發現還是很簡單的,二維偏序可以這樣解釋,現在平面上存在很多點,詢問有多少個點能找到比它大的點,(大可以解釋為:兩點 point1(x1,y1),point2(x2,y2) ,x1<=x2 && y1<=y2 ,這樣則說point1小於point2)。

然後就先離散化點,對x進行排序,然後用樹狀陣列維護一下y的值求一下逆序對就好了

分割線

#include#define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

const int maxn=5e5+10;

inline int lowbit(int x)

struct node

}int get_sum(int x)

return sum;

}int main()

sort(num.begin(),num.end());

num.erase(unique(num.begin(),num.end()),num.end());

for(int i=1;i<=n;i++)

sort(a+1,a+n+1);

int ans=0;

for(int i=n;i>0;i--)

printf("%d\n",ans);

return 0;

}

謝謝各位

Laptop 二維偏序

fst是一名可憐的小朋友,他很強,但是經常fst,所以rating一直低迷。但是重點在於,他非常適合acm!並在最近的區域賽中獲得了不錯的成績。拿到獎金後fst決定買一台新筆記本,但是fst發現,在 能承受的範圍內,筆記本的記憶體和速度是不可兼得的。可是,有一些筆記本是被另外一些 完虐 的,也就是記...

二維偏序問題

想學cdq分治,然而cdq的經典題目是三維偏序問題,是建立在二維偏序問題的基礎上的。我這只蒟蒻連個二維偏序問題都沒做過。在網上找了一大圈,才勉強找到乙個二維偏序的題目。bzoj的許可權啊。是時候買個許可權號了。題目鏈結 這個牛客網也不知道是什麼鬼。給你n個物品,每個物品有兩個參量,分別為 s,w 讓...

二維偏序 tree

最近接觸到一些偏序的東西。傳統線段樹非葉子節點的劃分點mid l r 2,但小r線段樹mid是自己定的。但滿足l mid 這道題n和詢問個數都到了1e5,所以考慮nlogn的做法。我們發現區間定位個數 答案 和完全被該區間包含的節點個數所相關。具體性質如下 區間定位個數 答案 2 區間長度 完全被該...