橫縱座標互不影響,所以問題轉化到一維:在n個區間中每個區間選乙個數,n個數都被選一次
將區間按右端點排序,列舉區間,每個區間選最靠左的沒被選過的點
#include#include#include#includeusing namespace std;
const int maxn=5010;
int n,ansx[maxn],ansy[maxn];
struct rangea[maxn],b[maxn];
inline bool cmp(range x, range y)
bool used[maxn];
int main()
bool flag;
memset(used,0,sizeof(used));
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;++i)
if(!flag) break;
} if(!flag)
memset(used,0,sizeof(used));
sort(b+1,b+1+n,cmp);
for(int i=1;i<=n;++i)
if(!flag) break;
} if(!flag)
for(int i=1;i<=n;++i)
printf("%d %d\n",ansx[i],ansy[i]);
} return 0;
}
傳說中的車 UVa11134
題目鏈結 橫座標和縱座標可以分開處理,就是區間上的貪心問題,貪心策略是按右端點從小到大排序,若右端點相同則按左端點從大到小排序,然後在區間上從左向右取點。define crt secure no warnings include include include include include inc...
UVa11134傳說中的車
今天給大家說一下這道題,題意就不說了,主要說一下思路以及細節部分。首先,從這道題來看就是求出車的座標並且使得車之間不互相攻擊且要滿足車在規定的範圍 矩形 之中,由於紫書說這道題考察了我們問題分解的能力,所以我們從問題分解的角度來解決,對於問題分解,我們可以通過這種方法來簡化問題,從而更好的解決,這道...
UVa 11134 傳說中的車
題意 在n n的棋盤上放n個車,使得任意兩個車不相互攻擊,且第i個車在乙個給定的矩形ri之內。用4個整數xli,yli,xri,yri來描述第i個矩形。思路 行和列是不影響的,也就是說第i個棋子放在第幾行不會影響它的列數。這樣的話我們就可以分別處理行和列。由於棋子被給定了範圍,這樣的話我們可以用貪心...