欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

智乃买瓜(背包dp

时间:2023-06-05

添加链接描述

#includeusing namespace std;const int N=1e3+9;#define int long longint dp[N][N],mod=1e9+7;signed main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ int w; cin>>w; for(int j=m;j>=0;j--){ if(j>=w){ dp[i][j]=(dp[i][j]+dp[i-1][j-w]+1)%mod; } if(j>=w/2){ dp[i][j]=(dp[i][j]+dp[i-1][j-w/2]+1)%mod; } dp[i][j]=(dp[i][j]+dp[i-1][j])%mod;//不买 } } int sum=0; for(int i=1;i<=m;i++){ sum=(sum+dp[n][i-1])%mod; dp[n][i]=(dp[n][i]-sum+mod)%mod; cout<

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。