題目:圓桌問題
思路:貪心,優先考慮人數多的團體,優先放在人數多的桌子上。
如果不嫌麻煩考慮網路流做法,只需把起點和所有團體連人數的邊,團體和桌子連1,桌子和匯點連容量邊跑最大流就好。
美麗的貪心**:
#include
using
namespace std;
#define maxn 300
#define read(x) scanf("%d",&x)
struct pair
pair
(int xx,
int yy)
bool
operator
<
(const pair& oth)
const};
int n,m;
int a[maxn+5]
,b[maxn+5]
;pair c[maxn+5]
;int d[maxn+5]
;pair e[maxn+5]
;int f[maxn+5]
;int g[maxn+5]
[maxn+5]
;int
main()
for(
int i=
1;i<=m;i++
)for
(int i=n;i>=
1;i--)if
(t.x)}
printf
("1\n");
for(
int i=
1;i<=n;i++
)return0;
}
洛谷P3254 圓桌問題
題目大意 有 m 個單位,每個單位有 r i 個代表,有 n 張餐桌,每張餐桌可容納 c i 個代表。要求同乙個單位的代表不在同乙個餐桌就餐。若可以,輸出 1 以及其中一種方案,否則輸出 0 題解 貪心,把餐桌大小和單位人數從小到大排序,因為單位規模越大就越難滿足,所以我們優先考慮他們。而桌子越多越...
網路流之P3254 圓桌問題
假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為ri i 1,2,m 會議餐廳共有n 張餐桌,每張餐桌可容納ci i 1,2,n 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表就餐方案。對於給定的代表數和餐桌數...
P3254 圓桌問題
假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為ri i 1 2,m r i i 1,2,m 會議餐廳共有n 張餐桌,每張餐桌可容納ci i 1 2,n c i i 1,2,n 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出...