解題思路:
本題h的取值範圍太大,所以無法直接開陣列統計
1、 map統計
2、排序+二分
3、hash
4、優先佇列
#include#include #include #include #define maxn 1000010
using namespace std;
struct nodeq[maxn];
int ans[maxn];
priority_queue,greater> pq;
bool cmp(node a,node b){
if(a.h==b.h) return a.id
收穫:map 陣列 hash
共同點:一一對應的關係
不同點1、map的key適用的資料型別比較廣泛,而陣列的key只能是int型別
2、map插入、查詢相對陣列來時間消耗大,map o(logn) 陣列o(1)
3、陣列相對於map來說消耗的空間大
hash相對於陣列來說降低了空間消耗,但同時時間消耗又沒有太大的影響
二分的思想。。。
hdu1669 二分多重匹配 二分
n個人分成m組,求人數最多的那一組人數的最小值。每個人肯定只能匹配乙個組,但乙個組可以匹配多個人,因此屬於多重匹配。我們設定乙個limit,表示每組最多能容納的人數。在dfs u 尋找u的匹配時,如果某一組vv的人數小於limit,那麼可以把u和vv匹配,vv已經匹配的人數 1。否則,當人數已經達到...
hdu2413 二分 二分匹配
題意 地球和外星球大戰,地球有n個飛船,外星球有m個飛船,每個飛船有自己的其實戰艦和戰艦增長率,星球於星球之間有距離,問你最少多少年地球可以打敗外星球,每個星球最多只能和乙個星球對戰.思路 題意的最後一句話告訴我們這個題目滿足二分圖,我們可以二分列舉多少年打敗,每次都重新建圖,對於h i 和 a j...
hdu 4033 二分判斷
終於有題我過了t t。剛開始jc看錯題了,以為是到各邊的距離,然後覺得蠻水的,直接以0 0 為內點,旋轉後求垂線圍成的多邊形是否是正多邊形即可。後來一看是到各頂點的距離。想了一會兒。後來用餘弦定理,二分邊長 邊長和反余弦是單調的 判斷所有構成三角形的頂角 和是否為2 pi即可。構不成三角形的話直接判...