時間限制: 1 sec 記憶體限制: 128 mb
題目描述
路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。
過程不重要,只要最後勝利是屬於路哥的。
路哥每次出完手就把這鍋扔給別人。
而他自己,深藏功與名,事了拂衣去。
畢竟,深藏不露是一種卓越的才能。
某天,路哥被班主任叫去清理海報。
這裡有一塊寬為w,高為h的海報欄。以左下角為原點建立直角座標系。
第i張貼上去的海報左下角為(x1_i,y1_i),右上角為(x2_i,y2_i)。
撕去一張海報會導致所有覆蓋在其上的海報被同時撕掉(這個過程具有傳遞性,即如果a覆蓋b,b覆蓋c,那麼撕掉c會導致a和b均被撕掉)
一張海報如果可以被撕掉需要至少存在乙個角沒有被其他海報覆蓋。
海報a被海報b覆蓋當且僅當存在a和b的交面積大於0,並且a在b之前貼出。
由於路哥嫌麻煩,為了提高效率,路哥會一次性的撕掉盡可能多的海報。
現在請你幫路哥計算路哥一次最多可以撕掉多少張海報。
在張數相同的情況下,路哥會選擇更早貼出的海報。
輸入多組資料。
第一行三個整數w,h,n,分別為海報欄的寬和高,貼出的海報數量。
接下來n行,每行四個整數x1_i,y1_i,x2_i,y2_i。
(1 <= w,h <= 10000000, 1 <= n <= 1000, 0 <= x1_i,x2_i <= w, 0 <= y1_i,y2_i <= h)
輸出輸出兩個整數,分別是海報數量和撕去的是第幾張。
複製樣例資料
6 7 4
0 0 4 4
1 0 3 4
1 4 4 6
0 0 3 5
樣例輸出
3 1
因為每張海報只會對它後面的海報產生影響,所以可以把海報的位置離線下來從後往前搞。然後n又很小,直接暴力搜尋就行,最壞的情況是n^2的複雜度。
#include using namespace std;
const int maxn = 1e3 + 5;
typedef long long ll;
int w,h,n;
vector vec[maxn];
int vis[maxn],f[5];
struct fun
z[maxn];
int check(fun a, fun b, int i)
int main()}}
if (cnt >= ans)
}for (int i = 1; i <= n; ++i)
vec[i].clear();
printf("%d %d\n", ans, ansi);
}return 0;
}
4888 路哥從不低頭
問題 h 路哥從不低頭 時間限制 1 sec 記憶體限制 128 mb 題目描述 路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。過程不重要,只要最後勝利是屬於路哥的。路哥每次出完手就把這鍋扔給別人。而他自己,深藏功與名,事了拂衣去。畢竟,深藏不露是一種卓越的才能。某天,路哥被...
路哥從不低頭 dfs
時間限制 1 sec 記憶體限制 128 mb 提交 173 解決 14 提交 狀態 命題人 外部匯入 題目描述 路哥是雲南中醫學院大一新生,對路哥來說任何人任何物都只是他的道具而已。過程不重要,只要最後勝利是屬於路哥的。路哥每次出完手就把這鍋扔給別人。而他自己,深藏功與名,事了拂衣去。畢竟,深藏不...
低頭做事與抬頭看路
我最近一直有一些困惑,這些困惑來自於我的工作。就像在乙個籠子裡面的野獸,思維總是找不到乙個出口,只是在那個籠子裡面不停的轉悠。轉啊轉,發現自己轉了一圈還是回到了原來的地方。這是乙個讓人窒息的困惑,讓人謎思的困惑。我在追問 門,在 很偶然,我看到了一篇blog,提到中國的經理人往往喜歡低頭做事,而港台...