动态规划 练习(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;
}
相关推荐
沙威玛_LHE4 小时前
树和二叉树
数据结构·算法
py有趣5 小时前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
夏鹏今天学习了吗5 小时前
【LeetCode热题100(62/100)】搜索二维矩阵
算法·leetcode·矩阵
吃着火锅x唱着歌7 小时前
LeetCode 1128.等价多米诺骨牌对的数量
算法·leetcode·职场和发展
十八岁讨厌编程8 小时前
【算法训练营 · 补充】LeetCode Hot100(中)
算法·leetcode
橘颂TA8 小时前
【剑斩OFFER】算法的暴力美学——最小覆盖字串
算法·c/c++·就业
wearegogog1238 小时前
基于混合蛙跳算法和漏桶算法的无线传感器网络拥塞控制与分簇新方法
网络·算法
程序员龙一8 小时前
C++之static_cast关键字
开发语言·c++·static_cast
奶茶树8 小时前
【C++/STL】map和multimap的使用
开发语言·c++·stl
Tiandaren9 小时前
大模型应用03 || 函数调用 Function Calling || 概念、思想、流程
人工智能·算法·microsoft·数据分析