題意:中文題誒~
思路:列舉+貪心
一開始寫的行和列同時列舉,寫的時候就擔心可能行和列會相互影響,提交結果證明我的擔心是對的;
注意到1 <= n <= 10, 1 <= m <= 200,n很小,那麼所有行的狀態不超過1024種,所以可以列舉所有行的狀態,對於每一種行的狀態下再對列貪心。。
枚舉行的所有狀態可以用dfs。。
**:
1 #include 2 #includeview code3#define ll long long
4using
namespace
std;56
const
int maxn=11
;7 ll a[maxn][maxn*20], b[maxn][maxn*20], vis[maxn], ans=0
, m, n, x, k;
89 ll get_ans(void)15
}16return
ans;17}
1819
void solve(void)28
}29}30
while
(num)
37if(cnt>vj)41}
42if(fj!=-1
)47 }else
break;48
}49 ans=max(ans, get_ans());50}
5152
void dfs(int
x)57 vis[x]=1
;58 dfs(x+1
);59 vis[x]=0
;60 dfs(x+1
);61}62
63int main(void)69
}70 dfs(0
);71 cout << ans <
72return0;
73 }
51Nod 1548 列舉 暴力
一天,歐姆諾諾姆來到了朋友家裡,他發現了許多糖果。有藍色和紅色兩種。他知道每顆紅色糖果重wr克,每顆藍色糖果重wb克。吃一顆藍色糖果會給他帶來hb的歡樂值,吃一顆紅色糖果會給他帶來hr的歡樂值。歐姆諾姆最多只能吃c克的糖果,而且每一顆糖果不能只吃一半。現在他想通過吃藍色和紅色的糖果來獲得最大的歡樂值...
51nod 1625 夾克爺發紅包
題目鏈結 思路 剛開始的時候和大多數萌新一樣,先列舉每一行的和和每一列的和,依次選出個最小的行或列進行更新。然後無盡的wa 這種二維貪心的解法有後效性,參見網上一組資料 3 3 30 2 10 10 10 1 1 99 20 20 99 一般解法 由於n很小,先對行所有的狀態進行列舉,然後在對列進行...
POJ 1018 列舉 貪心
題意 有n件商品,每件商品有m個製造商,每個製造商製造的商品有不同的 頻寬和 每件商品必須選乙個製造商,最後的頻寬是所有頻寬中的最小值,價值是所有商品的總 目的是使b p最大,輸出最大的b p的值。思路 由於資料範圍比較小,所以可以列舉。可以求出所有製造商的商品的最大頻寬和最小頻寬,然後列舉在兩者之...