LA 3695遙遠的銀河

2021-09-27 08:12:15 字數 863 閱讀 4695

題目大意

給定平面上的n個點,找乙個矩形,使得邊界上包含盡量多的點。

分析

不難發現除非所有的點都在同一條直線上,否則矩陣的四條邊至少會有乙個點(乙個角上的點同時算在兩條邊上).這樣,我們列舉4條邊界所穿過的點,然後統計點數,這樣做的複雜符很高,資料量無法承受。

和子串行一樣我們考慮部分列舉,只列舉矩形的上下界。用其他方法定義左右邊界。

當乙個矩形的上下邊界確定後,我們來計算左右邊界點。我們定義left(i)為以i為右邊界的上下邊界的數,定義on(i)和on2(i)為邊界本身不屬於上下邊界的點以及算上下邊界的點;這樣對於乙個矩形,總點數為left(j)-left(i)+on(i)+on(j) (j>i) 我們進一步的優化 當邊界j 確定是 on(i)-left(i)應為最大

上**

#include#include#include#define maxn 100+10

using namespace std;

struct po

};po star[maxn];

int le[maxn], on[maxn], on2[maxn];

int y[maxn];

int n;

int solve()

if (k <= 2)

return n;

m = 0;

for (int j = 1; j <=k; j++)

}} return ans;

}int main()

printf("case %d: %d\n", k++, solve());

} return 0;

}

uvalive3695 降維 掃瞄

題意 給出 個點,讓你找乙個矩形,是最多的點在矩形邊上 思路 看了大白的思路 就是列舉矩形的上下邊 然後每次列舉出上下邊界,就從左往右掃瞄描 left i 表示從這條豎線往左一共幾個點在上下兩邊 on i 和on2 i 都表示這條豎線上有幾個點,on不包括上下邊的,而on2包括 include in...

leetcode Day3 695 島嶼的最大面積

今天看到的小段子。鋼鐵俠在中國是怎麼誕生的,本科他讀了機械,考研準備跨考計算機,不幸被刷調劑去了材料。題目 記 python非常適合當做打草稿,先用python驗證程式設計思想,再用其他程式實現 int maxareaofisland int grid,int gridsize,int gridco...

poj 3695 Rectangles 容斥原理

在容斥原理題單裡看到這個題,第一想法肯定是掃瞄線啊。但一看題單分析,還真是容斥。矩形相交的圖形和文氏圖差不多。然後dfs容斥就好了 題單裡第四題 include include include using namespace std struct rec rec rec 30 int nums 30...