当前位置: 首页 > news >正文

【线性筛+DP】最大和

看错题了,呃呃,其实就是个简单DP

最大和 - 蓝桥云课 (lanqiao.cn)

题意:

思路:

设dp[i]为以1为终点的最大和,然后枚举状态和决策就行了

主要是线性筛的应用,它可以预处理出一个数的最小质因子是多少

Code:

#include <bits/stdc++.h>
using namespace std;
const int mxn=1e4+10;
int n,len=0;
int a[mxn],dp[mxn];
int prime[mxn],vis[mxn],d[mxn];
void p_init(){d[1]=1;for(int i=2;i<=n;i++){if(!vis[i]) prime[++len]=i,d[i]=i;for(int j=1;i<=n/prime[j];j++){vis[i*prime[j]]=1;d[i*prime[j]]=prime[j];if(i%prime[j]==0) break;}}
}
void solve(){cin>>n;p_init();for(int i=1;i<=n;i++) cin>>a[i];memset(dp,-0x3f,sizeof(dp));dp[1]=a[1];for(int i=1;i<=n;i++){for(int j=i+1;j<=min(i+d[n-i],n);j++){dp[j]=max(dp[j],dp[i]+a[j]);}}cout<<dp[n]<<'\n';
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;//cin>>__;while(__--)solve();return 0;
}
http://www.lryc.cn/news/26455.html

相关文章:

  • openpnp - configure - 丢弃(Discard)位置的设置
  • java Object 万字详解 (通俗易懂)
  • Java并发简介(什么是并发)
  • 团队API管理工具-YAPI
  • 学习记录 --- Pytorch优化器
  • Flink State 状态后端分析
  • 和年薪30W的阿里测开工程师聊过后,才知道我的工作就是打杂的...
  • C#开发的OpenRA的界面布局数据加载
  • 并查集结构
  • 全国CSM敏捷教练认证将于2023年3月25-26开班,报名从速!
  • JavaEE进阶第六课:SpringBoot ⽇志⽂件
  • 外置MOS管平均电流型LED降压恒流驱动器
  • python+pytest接口自动化(6)-请求参数格式的确定
  • 开发手册——一、编程规约_3.代码格式
  • 十七、Django-restframework之序列化器(二)
  • python GUI图形化编程-----wxpython
  • 【Python 】yyyy-MM-dd HH:mm:ss 时间格式 时间戳 全面解读超详细
  • 【C++】C++11 异常
  • 关于Thread.start()后的困惑、imap
  • qml学习之qwidget与qml结合使用并调用信号槽交互
  • 【 华为OD机试 2023】 组装新的数组(C++ Java JavaScript Python)
  • 【洛谷 P2089】烤鸡(循环枚举)
  • windows10安装ubantu双系统
  • 【华为OD机试 2023】 人数最多的站点/小火车最多人时所在园区站点(C++ Java JavaScript Python)
  • 2024届暑期实习实录(阿里云大数据研发平台)
  • 空口协议probe req和probe rsp 、auth req和auth rsp 、assoc req和assoc rsp讲解
  • vscode ssh一直卡在wget的解决方案
  • 【Python学习笔记】第二十五节 Python MySQL
  • 折叠屏手机自带的屏幕表面层为什么不能自己撕?
  • 20.hadoop系列之Yarn资源调度器