acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 资讯
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • ymhh 的 题解

    > 写了 12 分钟,我是 fw。 考虑 DP。 一、思路 尝试 定义 f[i]f[i]f[i] 表示求解 1∼i1\sim i1∼i 的最大和。 若第 iii 个数不选,则操作必然用于其他位置:要么删除第 iii 个和第 i−1i-1i−1 个数,要么就加上第 iii 个数。 因此会发现存在后效性:不知道上一个数选还是不选,考虑增加一维。 正解 定义 f[i][0]f[i][0]f[i][0] 表示求解 1∼i1\sim i1∼i 的最大和,且第 iii 个数不选;定义 f[i][1]f[i][1]f[i][1] 表示求解 1∼i1\sim i1∼i 的最大和,且第 iii 个数选。 显然: f[i][1]=max⁡(f[i−1][0],f[i−1][1])+a[i]f[i][1]=\max(f[i-1][0],f[i-1][1])+a[i] f[i][1]=max(f[i−1][0],f[i−1][1])+a[i] f[i][0]=max⁡(f[i−2][0],f[i−2][1])f[i][0]=\max(f[i-2][0],f[i-2][1]) f[i][0]=max(f[i−2][0],f[i−2][1]) 记得用 memset 将数组初始化为最小值!!!

    userId_undefined
    ymhh
    倔强青铜空间掌握者CSP-J二等奖
    9阅读
    0回复
    3点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页