@[SupperPiggy](/user/432491)
同求啊!
```cpp
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N],d[N],w[N],f[N];
int main(){
int n=4,t;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
scanf("%d",&t);
while(t--){
int v,cnt=0;
for(int i=1;i<=n;i++){
scanf("%d",&d[i]);
int k=0;
while(d[i]>=(1<<k)){
w[++cnt]=a[i]*(1<<k);
d[i]=d[i]-(1<<k);
k++;
}
if(d[i]){
w[++cnt]=a[i]*d[i];
}
}
scanf("%d",&v);
memset(f,0,sizeof(f));
f[0]=1;
for(int i=1;i<=cnt;i++)
for(int j=v;j>=w[i];j--)
f[j]=f[j]+f[j-w[i]];
printf("%d\n",f[v]);
}
return 0;
}
```
by reclusive @ 2023-10-31 11:43:14
是不是说...
多重背包求方案数没法二进制拆分?
by ThinkLongLong @ 2023-11-02 17:55:09
think long long
没开long long壁挂
多重背包求方案数没法二进制拆分?
-当然可以
by 孔繁臻帅哥 @ 2023-12-21 13:16:08
@[孔繁臻帅哥](/user/365855) 请问大佬怎么二进制拆分呢orz
想了好久,没想出来
by ThinkLongLong @ 2023-12-24 14:43:51
如果有时间可不可以给份代码orz
网上找了,没有
by ThinkLongLong @ 2023-12-24 14:45:34
@[ThinkLongLong](/user/432491) 好像是不行,非常抱歉,我昨晚熬了一晚也处理完重复计数的问题,多重背包求方案数对于这种会出现重复的题目是实现不了的,我问了我教练,他说处理不了
by 孔繁臻帅哥 @ 2024-01-05 13:09:56