您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 0浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[Acwing] 279. 自然数拆分 完全背包求解方案数

*DDL_GzmBlog 发布时间:2022-03-21 14:40:38 ,浏览量:0

前言

传送门 :

思路

题意转换 从 1 到 ( n − 1 ) 1到(n-1) 1到(n−1)个数中,每个数可以选取无限次,询问 和 为 i 和为i 和为i有多少种方案

为什么是 n-1 因为题目要求 最少都要拆成 两个数的和

所以状态表示 f [ i ] [ j ] f[i][j] f[i][j]前 i i i个数中选,和为 j j j的所有方案数

同时根据完全背包的一维优化

我们可以优化为一维

只不过 第二层循环需要从 v − m v - m v−m

Mycode
const int N  = 4e3+10 ;
const ll mod = 2147483648;


ll f[N];

void solve()
{
	int n;cin>>n;
	
	f[0] = 1;
	
	for(int i=1;i            
关注
打赏
1657615554
查看更多评论
0.0385s