luogu p2772 尋找平面上的極大點

2022-09-05 07:48:12 字數 801 閱讀 5872

乙個水題

我們可以對於每乙個點根據x從小到大排好序

這樣對於每乙個點,只需要不存在序列中在它後面並且縱座標大於它的點

那麼我們當前列舉的這個點就是滿足題意的點

但顯然,從小到大列舉並查詢後面是否有縱座標大於該點的點相對會複雜一些

我們可以考慮倒序來列舉

記錄下當前列舉到點中縱座標的最大值,這樣每列舉到的點只需要與最大值比較即可

如果它大於最大值,即為符合題意的點

為什麼?

我們按照x又小到大排序的時候忽略了x相等,也就是在一列的點的情況

只需要先按照x排序,x相等再按照y排序就行了

#include#include#include#includeusing namespace std;

int read()

while(isdigit(p))

return f?-a:a;

} int n;

struct nodepoint[500001];

//int tot[500001];

//bool flag[500001];

bool cmp1(node a,node b)

return a.y < b.y;

}int ansx[500001],ansy[500001];

void _solve()

}for(int i = num;i >= 2;i--)

cout<<"("《啊好了沒了就寫了這麼多qwq

sdut2772 KMP的簡單應用

time limit 1000ms memory limit 65536k 有疑問?點這裡 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1 長度小於1000000 第二行代表string2 長...

Luogu P1208 混合牛奶

這個題目直接開個結構體按 排序,然後一直加加加,就可以了。典型的貪心。include include include include include include using namespace std int i,m,n,j,k,ans struct mana 5001 bool cmp man...

luogu P1525 關押罪犯

題目描述 s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同...