动态规划2(c++)

酒鬼

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[10010];
	for(int i = 1;i<=n;i++)
	{
		cin>>a[i];
	}
	int dp[1010][5] = {0};
	dp[0][0] = 0;
	dp[1][0] = 0;
	dp[1][1] = a[1];
	dp[1][2] = 0;
	dp[2][0] = a[1];
	dp[2][1] = a[2];
	dp[2][2] = a[1]+a[2];
	for(int i = 3;i<=n;i++)
	{
		dp[i][0] = max(max(dp[i-1][0],dp[i-1][1]),dp[i-1][2]);
		dp[i][1] = dp[i-1][0]+a[i];
		dp[i][2] = dp[i-1][1]+a[i];
	}
//	for(int i = 1;i<=n;i++)
//	{
//		for(int j = 0;j<=2;j++)
//		{
//			cout<<setw(3)<<dp[i][j];
//		}
//		cout<<endl;
//	}
	cout<<max(max(dp[n][0],dp[n][1]),dp[n][2]);
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int m;
	cin>>m;
	int dp[1010][10] = {0};
	dp[0][0] = 1;
	dp[1][0] = 1;
	dp[1][1] = 1;
	for(int i = 2;i<=n;i++)
	{
		for(int j = 0;j<m;j++)
		{
			dp[i][0] += dp[i-1][j];
		}
		for(int j = 1;j<m;j++)
		{
			dp[i][j] = dp[i-1][j-1];
		}
	}
	long long sum = 0;
	for(int i = 0;i<m;i++)
	{
		sum += dp[n][i];
	}
	cout<<sum;
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int sh[10010];
	int z[10010];
	int y[10010];
	sh[1] = 1;
	z[1] = 1;
	y[1] = 1;
	for(int i = 2;i<=n;i++)
	{
		sh[i] = (sh[i-1]+z[i-1]+y[i-1])%12345;
		z[i] = (z[i-1]+sh[i-1])%12345;
		y[i] = (y[i-1]+sh[i-1])%12345;
	}
	cout<<sh[n]+z[n]+y[n];
	return 0;
}
相关推荐
z落落13 分钟前
C# ToCharArray + foreach遍历 + String与StringBuilder
开发语言·c#
学代码的真由酱28 分钟前
Java多用户一对一网页聊天室-测试报告
java·开发语言·功能测试·测试
人道领域31 分钟前
【LeetCode刷题日记】669.修剪二叉搜索树
开发语言·python·算法
xiaoshuaishuai81 小时前
C# AvaloniaUI动态显示图片
开发语言·c#
QiLinkOS1 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
日光明媚1 小时前
一步生成视频!One-Forcing:DMD + 零成本 GAN,训练 200 步超越多步 SOTA
android·开发语言·kotlin
2301_803538952 小时前
Java读取Word图片的两种实用方法
java·开发语言·word
Irissgwe2 小时前
c++11(lambda表达式与包装器、线程库)
c++·c++11·lambda表达式·线程库·包装器·互斥量库·条件变量库
Peter·Pan爱编程2 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
不想写代码的星星3 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++