問題描述
何老闆要給大家買節日禮物,他有m元錢,學校小賣部有n種禮品,因為店長和何老闆是熟人,所以若第i種禮品買x(x>0)件的話,店長會給何老闆ai*x+bi顆糖果。
因為何老闆非常喜歡吃糖,所以他希望獲得的糖果越多越好。現給出每種禮品的單價wi、ai值與bi值,問何老闆最多能得到多少顆糖果?
輸入格式
第一行,兩個空格間隔的整數m和n
接下來n行,每行三個整數wi, ai 和 bi,描述一種禮物的情況。
輸出格式
一行,乙個整數,表示何老闆能得到的最大糖果數
樣例輸入
100 2
10 2 1
20 1 1
樣例輸出
提示樣例說明,何老闆買了10個1號禮物,獲得 2 × 10 + 1 = 21顆糖
1 ≤ m ≤ 2000
1 ≤ n ≤ 1000
0 ≤ ai, bi ≤ 2000
1 ≤ wi ≤ 2000
揹包問題。
三維肯定會超時
考慮將ax+b分為兩種商品
一種為 價值為a+b且數量只有一種
第二種為 價值為a但是數量無限
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
int w[1005][2002];
int m,n;
int f[2005];
int ans;
int c[1005],a[1005],b[1005];
int main()
for(j=c[i];j<=m-c[i];j++) if(f[j])
}cout
<1;
}
P3793 由乃救爺爺 分塊,ST表
給出 n 個數字的乙個序列 m 次詢問區間最大值 保證資料隨機 1 leq n,m leq 2 times 10 7 使用 st 表可以做到 o 1 詢問,但是預處理的時空複雜度都是 o n log n 且自帶大常數導致過不了。如何加快預處理的時間,因為是lxl的題目所以 考慮使用分塊。每次詢問可以...
nkoi P3793 禮物和糖果
何老闆要給大家買節日禮物,他有m元錢,學校小賣部有n種禮品,因為店長和何老闆是熟人,所以若第i種禮品買x x 0 件的話,店長會給何老闆ai x bi顆糖果。因為何老闆非常喜歡吃糖,所以他希望獲得的糖果越多越好。現給出每種禮品的單價wi ai值與bi值,問何老闆最多能得到多少顆糖果?輸入格式 第一行...
洛谷P1194 買禮物
又到了一年一度的明明生日了,明明想要買b樣東西,巧的是,這b樣東西 都是a元。但是,商店老闆說最近有 活動,也就是 如果你買了第i樣東西,再買第j樣,那麼就可以只花k i,j 元,更巧的是,k i,j 竟然等於k j,i 現在明明想知道,他最少要花多少錢。輸入格式 第一行兩個整數,a,b。接下來b行...