P3793禮物和糖果

2021-08-08 11:51:36 字數 982 閱讀 1773

問題描述

何老闆要給大家買節日禮物,他有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行...