HAOI2008 硬幣購物

2022-05-08 17:42:11 字數 501 閱讀 9375

十分精妙的一道題。

假如沒有限制,就是一道簡單的dp

當有了限制,很明顯會有一些方案不可行。

那麼,我們就可以想如何去掉不可行的。

我們可以強制讓一些種類超過限定,即讓c[i]取(d[i]+1)個

那麼容斥一下就可以了

#include#define ll long long

#define rg register

using namespace std;

inline int gi()

int c[5], d[5];

ll f[100010], ans;

void dfs(int x, int k, int s)

dfs(x+1, k+1, s-(d[x]+1)*c[x]);

dfs(x+1, k, s);

return ;

}int main()

return 0;

}

HAOI 2008 硬幣購物

硬幣購物一共有 4 44 種硬幣。面值分別為 c1,c2,c 3,c4 c 1,c 2,c 3,c 4 c1 c2 c3 c4 某人去商店買東西,去了 tot totto t 次。每次帶 dij d di j 枚 cij c ci j 硬幣,買 s is i si 的價值的東西。請問每次有多少種付款...

HAOI2008 硬幣購物

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 硬幣購物一共有4種硬幣。面值分別為c1,c2,c3,c4。某人去商店買東西,去了tot次。每次帶di枚ci硬幣,買si的價值的東西。請問每次有多少種付款方...

HAOI2008 硬幣購物

硬幣購物一共有 4 種硬幣。面值分別為 c 1,c 2,c 3,c 4 某人去商店買東西,去了 tot 次。每次帶 d i 枚 c i 硬幣,買 s i 的價值的東西。請問每次有多少種付款方法。好的,比較欣喜的一點是我們如果不考慮什麼帶了 k i 個,那麼其實就是乙個完全揹包是不是 但是他有乙個特別...