蓝桥杯集训·每日一题 AcWing3382整数拆分(完全背包)

题目链接:整数拆分

详解见下图:

蓝桥杯集训·每日一题 AcWing3382整数拆分(完全背包)_第1张图片
蓝桥杯集训·每日一题 AcWing3382整数拆分(完全背包)_第2张图片

代码如下:

#include
using namespace std;
const int MOD=1e9;
int n;
int f[1000005];
int main(){
    f[0]=1;
    cin>>n;
    for(int i=1;i<=n;i*=2){//当前物品所用的体积 
        for(int j=i;j<=n;j++){
            f[j]=(f[j]+f[j-i])%MOD;
        }
    }
    cout<

你可能感兴趣的:(蓝桥杯,算法,c++)