动态规划 练习(c++)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n;
int a[1010];
int dp[1010];
int ldp;
int main()
{
	cin>>n;
	for(int i = 1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i = 1;i<=n;i++)
	{
		bool f = false;
		for(int j = 1;j<=ldp;j++)
		{
			if(dp[j]<a[i])
			{
				dp[j] = a[i];
				f = true;
				break;
			}
		}
		if(f==false)
		{
			dp[++ldp] = a[i];
		}
	}
	cout<<ldp;
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n;
int a[1010];
int dp[1010];
int ldp;
int main()
{
	cin>>n;
	for(int i = 1;i<=n;i++)
	{
		cin>>a[i];
	}
	dp[1] = a[1];
	dp[2] = max(a[1],a[2]);
	for(int i = 3;i<=n;i++)
	{
		dp[i] = max(max(dp[i-2]+a[i],dp[i-2]),dp[i-1]);
	}
	cout<<dp[n];
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n;
int a[100010];
int dp[100010];
int main()
{
	cin>>n;
	long long A,B,C;
	cin>>A>>B>>C;
	for(int i = 1;i<=n;i++)
	{
		a[i] = (A*i*i+B*i+C)%20000-10000;
	}
	dp[0] = 0;
	dp[1] = a[1];
	for(int i = 2;i<=n;i++)
	{
		dp[i] = max(max(dp[i-1]+a[i],dp[i-2]+a[i]),dp[i-1]);
	}
	cout<<dp[n];
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
int a[100010];
int dp[100010];
int x;
ll sum;
int main()
{
	cin>>n>>x;
	a[1] = x;
	for(int i = 2;i<=n;i++)
	{
		a[i] = (379*a[i-1]+131)%997;
	}
	dp[1] = a[1];
	sum += dp[1];
	for(int i = 2;i<=n;i++)
	{
		dp[i] = max(a[i],dp[i-1]);
		sum += dp[i];
	}
	cout<<sum;
	return 0;
}
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int n;
int a[100010];
int dp[100010];
int main()
{
	cin>>n;
	long long A,B,C;
	cin>>A>>B>>C;
	for(int i = 1;i<=n;i++)
	{
		a[i] = (A*i*i+B*i+C)%20000-10000;
	}
	dp[0] = 0;
	dp[1] = a[1];
	for(int i = 2;i<=n;i++)
	{
		dp[i] = min(min(dp[i-1]+a[i],dp[i-2]+a[i]),dp[i-1]);
	}
	cout<<dp[n];
	return 0;
}
相关推荐
今儿敲了吗20 分钟前
01|多项式输出
c++·笔记·算法
程序员Jared23 分钟前
C++11—mutex
c++
朔北之忘 Clancy31 分钟前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
Xの哲學33 分钟前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
量子炒饭大师1 小时前
【C++入门】Cyber底码作用域的隔离协议——【C++命名空间】(using namespace std的原理)
开发语言·c++·dubbo
AlenTech1 小时前
200. 岛屿数量 - 力扣(LeetCode)
算法·leetcode·职场和发展
C雨后彩虹1 小时前
竖直四子棋
java·数据结构·算法·华为·面试
REDcker1 小时前
RTCP 刀尖点跟随技术详解
c++·机器人·操作系统·嵌入式·c·数控·机床
楚Y6同学1 小时前
基于 Haversine 公式实现【经纬度坐标点】球面距离计算(C++/Qt 实现)
开发语言·c++·qt·经纬度距离计算
不如自挂东南吱2 小时前
空间相关性 和 怎么捕捉空间相关性
人工智能·深度学习·算法·机器学习·时序数据库