/***
【題目】
薛是乙個神槍手,突然有一天遇到了一群怪物。
薛帶著 n 支槍,每支槍的攻擊力為 a[i] 。每個怪物的防禦力為 b[j] 。
在滿足 b[j]<=a[i] 的情況下,薛可用 i 槍殺死怪物 j ,他會得到 a[i]-b[j] 的獎金。
請記住:每支槍只能用來殺死乙個怪物,而且顯然每個怪物只能被殺死一次。薛想最大化他的獎金,並無要殺死所有怪物的必要。
【輸入】
第一行:t,代表有多少組測試資料
第二行: n (槍枝數量),m(怪獸數量)
第三行:n 個槍枝的攻擊力
第四行:m 個怪獸的防禦力
【輸出】
薛能得到的最大獎金
【樣例輸入】
1 2 2
2 32 2
【樣例輸出】
1【分析】
本題的貪心策略不是很明顯,每支槍只能用一次,而且要使總獎金最大,就需要在 a[i]>b[i] 的情況下,a[i] 的值盡量大而 b[i] 的值盡量小,於是可以想到一直用剩下的槍中最厲害的去乾掉剩下怪物中最弱的,以便讓每一槍都能獲得當前情況下最大的獎金。
**/#include#include#includeusing namespace std;
const int max=100001;
long long gun[max];
long long monster[max];
bool compare(long long x,long long y)
int main()
cout<
題 貪心 神似DP NKOJ3102 取數
nkoj3102 取數 時間限制 20000 ms 空間限制 165536 kb 問題描述 n個整數組成的乙個環,現在要從中取出m個數,取走乙個數字就不能取跟它相鄰的數字 相鄰的數不能同時取 要求取出的數字的總和盡可能大,問這個最大和是多少?如果無解,請輸出 error 輸入格式 第一行包含兩個正整...
硬幣問題(貪心)
有1元,5元,10元,50元,100元,500元的硬幣各a1,a5,a10,a50,a100,a500枚,現在要用這些硬幣支付money元,最少需要支付多少硬幣?假定本題至少一種支付方案。分析 要使數量最少,所以要先從面值大的開始選擇,依次往下類推,即可得到最佳答案。優先選擇面值大的。include...
簡單貪心問題
今年暑假不ac?是的。那你幹什麼呢?看世界盃呀,笨蛋!確實如此,世界盃來了,球迷的節日也來了,估計很多acmer也會拋開電腦,奔向電視了。作為球迷,一定想看盡量多的完整的比賽,當然,作為新時代的好青年,你一定還會看一些其它的節目,比如新聞聯播 永遠不要忘記關心國家大事 非常6 7 超級女生,以及王小...