动态规划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;
}
相关推荐
肆忆_20 小时前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星1 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛3 天前
delete又未完全delete
c++
端平入洛4 天前
auto有时不auto
c++
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1235 天前
matlab画图工具
开发语言·matlab
dustcell.5 天前
haproxy七层代理
java·开发语言·前端
norlan_jame5 天前
C-PHY与D-PHY差异
c语言·开发语言
哇哈哈20215 天前
信号量和信号
linux·c++
多恩Stone5 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc