ADV-168贪吃的大嘴

本文介绍了一种使用动态规划解决特定问题的方法。首先通过初始化数组dp的所有元素为0x7f来设定初始条件,然后设置dp[0] = 0作为边界条件。接下来通过双重循环迭代更新dp数组中的值,实现求解过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PS:

1.动态规划dp

2.数组的初始化, dp是一个数组,将它的所有元素为0x7f


memset(dp/*数组名*/,0x7f/*要赋予的值*/ ,sizeof(dp)/*数组元素个数*/);
3.dp[0] = 0;                          //边界问题

4. dp[k] > dp[k-t]+1
    dp[k] = dp[k-t]+1;   //动态数组求值



#include                           //动态规划dp
#include

int dp[20005];

int main(void)
{
	int m, n;
	int t, p;
	int i, j, k;

	memset(dp, 0x7f, sizeof(dp));       //数组的初始化, dp是一个数组,将它的所有元素为0x7f
memset(dp/*数组名*/,0x7f/*要赋予的值*/ ,sizeof(dp)/*数组元素个数*/);
	dp[0] = 0;                          //边界问题
	scanf("%d%d", &m, &n);
	for (i=0; i=t; --k)
			{
				if (dp[k] > dp[k-t]+1)
				{
					dp[k] = dp[k-t]+1;   //动态数组求值
				}
			}
		}
	}

	if (dp[m]==0x7f7f7f7f)                
	{
		printf("><\n");
	}
	else
	{
		printf("%d\n", dp[m]);
	}
	
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值