牛客小白月賽29 A 進攻

2021-10-11 01:49:48 字數 1189 閱讀 3872

題目位址

一、題目內容

二、解題思路

scimoon 率領的反叛軍已經做好了準備

他的手下有 n 個戰機,每架戰機有乙個破壞力 ai

帝國有 m 個基地,每個基地有乙個防禦值 di,基地有乙個價值 vi

​ 若乙個戰機的攻擊力嚴格大於基地的防禦值,則可以破壞該基地,得到這個基地的價值 v

帝國的後備資源很多,乙個基地可以被反覆破壞

每架戰機最多只能選擇乙個基地攻擊,當然也可以不攻擊

求能獲得的最大貢獻

輸入描述

一行兩個整數, n, m

第二行 n 個整數,表示 ai

第三行 m 個整數,表示 di

第四行 m 個整數,表示 vi

意義與題目描述中一致

輸出描述

一行乙個整數,表示最大價值

輸入用例

351

2312

3451

2345

輸出用例

3
備註:1≤n, m≤106, 0≤ai, di≤109,∣vi∣≤103

需要最終攻打價值最大,那麼思路就是選擇可以拿到價值最大的基地一直打,直到後面的飛機攻不下來再尋找價值第二大的基地。所以用貪心,由於基地可以重複銷毀,所以找出每架戰機可轟炸基地的最大價值,對基地價值和飛機戰鬥力降序排序之後貪心找一下就可以了

**如下:

#include

#include

using

namespace std;

const

int n=

1e6+15;

int a[n]

;struct attack

base[n]

;//基地的屬性

bool

sorting

(attack a,attack b)

//之前wa是因為沒考慮到防禦值大但是價值不是最大的情況,這不是貪心想要得到的結果

intmain()

sum+

=temp;

} cout

}

蒟蒻有**寫得不好的歡迎各位批評指正

項鍊 牛客小白月賽29

scimoon 意外得到了乙個項鍊,這個項鍊非常的神奇 它有 n 個珠子,一開始每個珠子有乙個編號,從左到右編號分別是 1 至 n,scimoon 進行了 m 次操作,每次操作有下面這麼幾種 1 x y 表示將編號為 x 的珠子移到編號為 y 的珠子的後面 2 x y 表示將編號為 x 的珠子移到編...

牛客小白月賽29(簽到 A E G H)

貪心,由於基地可以重複銷毀,所以找出找出每架戰機可轟炸基地的最大價值,排序之後貪心找一下即可 include include using namespace std const int n 1e6 15 struct nodeno n bool cmp node a,node b int a n i...

牛客 2020 11 14牛客小白月賽29 B

by 041 本人原文 簡單的說,對於乙個bool量x x 1 x x 0 0 x 1 1 x 0 x x 1 x x 0 x 所以,對於每一次操作,在有影響 上面的2 3 5三種情況 到的位置加入相應操作的標記最後整合就行 對於第i位 0的操作 清空之前該位置所有的操作,加上標記1 對於第i位 1...