【智商检测——DP】

题目

代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10, M = 110;
int f[N][M];
int main()
{
  int n, k;
  cin >> n >> k;
  for(int i = 1; i <= n; i++)
  {
    int x;
    cin >> x;
    f[i][0] = __gcd(f[i-1][0], x);
    for(int j = 1; j <= min(i, k); j++)
    {
      if(i - 1 >= j) f[i][j] = __gcd(f[i-1][j], x);
      f[i][j] = max(f[i][j], f[i-1][j-1]);
    }
  }

  cout << f[n][k];
}
相关推荐
q***649714 分钟前
SpringMVC 请求参数接收
前端·javascript·算法
Lwcah16 分钟前
Python | LGBM+SHAP可解释性分析回归预测及可视化算法
python·算法·回归
小此方17 分钟前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
前端炒粉4 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
断剑zou天涯6 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
smj2302_796826526 小时前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
骑着猪去兜风.8 小时前
线段树(二)
数据结构·算法
fengfuyao9859 小时前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望9 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung9 小时前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表