1 编辑距离

2 捡水果

3 01背包

4 数字三角形

https://oj.sdutacm.cn/onlinejudge3/contests/4286/problems/C

  1. 是从倒数第二行开始合并的,注意我们相当于在覆盖。
点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 110;
int dp[maxn][maxn];
int main()
{
	int n;
	cin >> n;
	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= i;j++)
			cin >> dp[i][j];
	}
	
	for (int i = n-1;i >0;i--)
	{
		
		for (int j = 1;j <= i;j++)
		{
			dp[i][j]+= max(dp[i + 1][j], dp[i + 1][j + 1]);
		}
	}
	cout << dp[1][1] << endl;
}

5 找零问题

posted on 2025-12-05 21:41  Hoshino1  阅读(1)  评论(0)    收藏  举报