本文包括两个算法题目及解答: 学习小组题目:使用动态规划求解最优值,代码通过比较前i项的dp值计算当前最优解; 最大因数挑战:通过计算两个数到共同祖先的跳转次数来求解LCA(最近公共祖先),代码实现因数跳转和计数逻辑。两题均采用C++建立,展示基础算法应用。

一、学习小组

题目描述

 输入格式

输出格式 

 样例

说明 

思路

 代码

#include
using namespace std;
using ll=long long;
int n,a[1010],dp[1010];
int main(){
cin>>n;
for(int i=1;i>a[i];
dp[1]=a[1];
for(int i=2;i=0;j--){
dp[i]=max(dp[i],dp[j]+a[i-j]);
}
}
cout<

二、最大因数 

闲话:这题在场上没憋出来,还是我太菜了啊……

题目描述

 输入格式

输出格式

样例

 说明

思路 

代码

#include
using namespace std;
int jump(int x)
{
for (int i = 2; i > q;
while (q--)
{
int l, r;
cin >> l >> r;
cout << lca(l, r) << "\n";
}
}
int main()
{
solve();
return 0;
}

posted @ 2025-07-25 20:01  yjbjingcha  阅读(5)  评论(0)    收藏  举报