BZOJ5018 Snoi2017 英雄聯盟

2022-07-24 01:06:37 字數 548 閱讀 8409

算算 n 的最大值,∑i=1

nk[i] * c[i] <= 243552

這就可以直接上揹包了

最裸最暴力的那種

可以選擇滾動陣列,並不能減掉一維,因為在重複列舉 j 的時候除第一次列舉之外都會用到當前這一層的狀態

**:  

#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 123;

int n, totm;

int sum[maxn], cst[maxn], ans = 2147483644;

ll m;

ll f[maxn][243552];

int main()

f[0][0] = 1ll;

for(int ii = 1; ii <= n; ++ii) }}

printf("%d\n", ans);

return 0;

}

bzoj5018 Snoi2017 英雄聯盟

description 正在上大學的小皮球熱愛英雄聯盟這款遊戲,而且打的很菜,被們戲稱為 小學生 現在,小皮球終於受不 了們的嘲諷,決定變強了,他變強的方法就是 買 小皮球只會玩n個英雄,因此,他也只準備給這n個英 雄買 並且決定,以後只玩有 的英雄。這n個英雄中,第i個英雄有ki款 是每款ciq幣...

bzoj5018 Snoi2017 英雄聯盟

題目 嗯,其實吧,還是算比較顯然的dp。f i j 表示前 i個英雄 用了j 元錢的最 多方案數 最後答 案就是滿 足f n j m最小 的j了。轉移方法,首先 肯定要 列舉i,然後列舉 當前買幾 個 j 再列舉 l表示f i l 從什 麼轉移過 來。注意 每次l 的上界是 當前買所 有 的 這樣,...

bzoj5018 Snoi2017 英雄聯盟

10.5重回bzoj。刷了這道揹包dp交了10次。不過這個真的是一道好題。也許是我dp太爛 由於錢數較小,容易想到,f i 表示花了i元所有的展示策略個數。然而在dp的時候卻有乙個問題,我們列舉買的 個數維護揹包時,有可能同乙個英雄不同 數疊乘,這樣就不對了,所以dp時先從後將更新的位置列舉出來,再...