橫向覆蓋之間不會互相干擾, 因此可以橫向 一行一行看
縱向同理
這樣就將2維的問題轉化為1維的問題, 變成考慮1維區間有多少點被染色了, 即區間合併問題.
然後 橫向縱向之間, 最多只有乙個相交點, 直接o(n
2)o(n^2)
o(n2
)列舉一遍, 如果有交點, 答案-1
橫向和縱向兩直線相交的充要條件:1.縱向的列號在橫向的兩個端點之間
2.橫向的行號在縱向的兩個端點之間
注意:在迴圈中用到雙指標, 一般迴圈變數的最後乙個等式
i ++
可以省掉, 在迴圈中加i = j
#include
#include
using
namespace std;
typedef pair<
int,
int> pii;
typedef
long
long ll;
const
int n =
10010
;struct segment};
ll merge
(vector
&q))
; l = q[k]
.l, r = q[k]
.r;}
else r =
max(r, q[k]
.r);
if(l !=
-2e9
) w.
push_back()
;
res +
= r - l +1;
i = j;
} q = w;
return res;
}int
main()
);// 同一列
else rows.
push_back()
;// 同一行
}
ll res =
merge
(rows)
+merge
(cols)
;// 合併
for(
auto r : rows)
for(
auto c : cols)
if(r.k >= c.l && r.k <= c.r && c.k >= r.l && c.k <= r.r)
res --
;// 刪除重複點
cout << res << endl;
return0;
}
美團筆試題 拜訪
題目描述 現在有乙個城市銷售經理,需要從公司出發,去拜訪市內的商家,已知他的位置以及商家的位置,但是由於城市道路交通的原因,他只能在左右中選擇乙個方向,在上下中選擇乙個方向,現在問他有多少種方案到達商家位址。給定乙個地圖map及它的長寬n和m,其中1代表經理位置,2代表商家位置,1代表不能經過的地區...
美團點評筆試題
1.css中浮動的影響和清除浮動的方法 2.sjf演算法,完成時間 3.有向圖和無向圖的鄰接矩陣有什麼區別 4.乙個無向圖的鄰接矩陣中各元素之和是圖中邊的條數的兩倍.5.20個元素氣泡排序,最多相鄰元素的比較次數?6.資料流圖中加工編號 7.長度為32的有序表中進行二分查詢,平均查詢長度?8.fir...
美團點評筆試題總結
這次美團筆試嘛,第一次參加這種社會型招聘,講真的,還挺感謝這次機會,也是有點收穫的。從17號,一直到19號晚上收到筆試通知,準備了兩天知識點,便踏上了21晚19時的考場。複習了點啥呢?執行緒,block塊,kvo,介面傳值等 還有一些基礎的oc語法的知識,但是都點悲觀,就考到了一點關於3種執行緒的知...