時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 524288k,其他語言1048576k
64bit io format: %lld
題目描述
牛牛正在打一場cf
比賽時間為t分鐘,有n道題,可以在比賽時間內的任意時間提交**
第i道題的分數為maxpoints[i],題目的分數隨著比賽的進行,每分鐘減少pointsperminute[i]
這是一場比較dark的cf,分數可能減成負數
已知第i道題需要花費 requiredtime[i] 的時間解決
請問最多可以得到多少分
示例1輸入:
3
30100
10010000011
10015
1530
輸出:
97000
備註:
子任務1: n <= 10
子任務2: n <= 20
子任務3: 無限制
**思路:**先每分鐘減少分數最多的題目進行處理,排個序,然後是個01揹包問題,前面有篇文章講述過
**:
#include
using
namespace std;
typedef
long
long
int ll;
const ll n=
1e5+10;
const ll inf=
-1e9
;ll n,m,dp[n]
;struct node
//定義優先順序,參考sort的用法
}p[n]
;int
main()
} cout/從dp[j]中挑出最大值
return0;
}
不積矽步,無以至千里!!! 牛客多組揹包
牛客多組揹包 能天使的願望 題意 有n個店鋪,每個店鋪中有m把銃,然後給出n個店鋪賣1 m把銃需要花費的錢,現在我們需要賣k把銃,因為需要運送的關係,當買的銃少於y把時,需要支付郵費 輸入 第一行輸入 n m k y 第二行輸入 n個商店的郵費 接下來n行輸入 每個商店的賣銃1 m把的花費 輸出 輸...
牛客 Subset of Five 揹包
題目大意 給出 n 個數字,要求選出一些數字,使得這些數字之和可以在整除五的前提下盡量大 題目分析 一開始以為是貪心問題,但貪心發現不太好實現,問了問 zx 學長,給我提示說是揹包dp,仔細想了一下確實如此 dp i j 代表處理完前 i 個數後,5 的結果為 j 時的最大數字之和,這樣答案顯然為 ...
牛客 01揹包問題
題目 購買禮品是,每一款禮品的受歡迎程度 熱度值 各不相同,現給出總金額以及各個禮品的單價和熱度值,如何購買可以使得所有禮品的總熱度值最高。輸入 第一行是乙個正整數,表示總金額 不大於1000 第二行是乙個長度為n的正整數陣列,表示禮品單價 n不大於100 第三行是乙個長度為n的正整數陣列,表示對應...