动态规划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;
}
相关推荐
7***374513 分钟前
Java设计模式之工厂
java·开发语言·设计模式
上不如老下不如小27 分钟前
2025年第七届全国高校计算机能力挑战赛初赛 Python组 编程题汇总
开发语言·python·算法
程序员小白条37 分钟前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
xlq223221 小时前
19.模版进阶(上)
c++
yuuki2332331 小时前
【C++】初识C++基础
c语言·c++·后端
小年糕是糕手1 小时前
【C++】类和对象(二) -- 构造函数、析构函数
java·c语言·开发语言·数据结构·c++·算法·leetcode
豐儀麟阁贵1 小时前
8.2异常的抛出与捕捉
java·开发语言·python
权泽谦1 小时前
PHP 版羊了个羊完整开发实战:逻辑解析 + 三消算法 + 全套接口(附源码)
开发语言·php
程序员西西1 小时前
SpringBoot无感刷新Token实战指南
java·开发语言·前端·后端·计算机·程序员
玫瑰花店1 小时前
SomeIP报文详解
c++·someip