題面:
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 區間長度 完全被該...