2018.3.17 模拟赛——(2)删数

2018.3.17 模拟赛——(2)删数

大家好,又见面了,我是全栈君。

题目大意:

给出一个序列x,从左边或者右边删数,使得总价值最大。
删除从i位置到k位置上的所有的数。操作价值为|xi – xk|*(k-i+1),如果只删除一个数,操作价值为这个数的值。

解题思路:

区间dp
动态转移方程为:

f[i][j]=max(f[i][k]+f[k+1][j],f[i][j]);(f[i][j]=ij)f[i][j]=max(f[i][k]+f[k+1][j],f[i][j]);(f[i][j]=删除i到j的最大价值)

首先f[i][i]肯定是它本身 然后用(|xi — xk|×(k-i+1))求出f[i][j] 的值, (n≥j>i)

最后枚举一下就可以了

源程序:

#include<cstdio>
#include<algorithm>
using namespace std;
int ak,n,a[105],f[105][105];
int main()
{
    //freopen("remove.in","r",stdin);
    //freopen("remove.out","w",stdout);
    int o=0;
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
     scanf("%d",&f[i][i]);     
    for (int i=1;i<n;i++)
     for (int j=i+1;j<=n;j++)
       f[i][j]=abs(f[j][j]-f[i][i])*(j-i+1);//初始化
    for (int i=1;i<=n;i++)
     for (int j=i;j<=n;j++)
      for (int k=i;k<j;k++)//枚举删除范围
       f[i][j]=max(f[i][k]+f[k+1][j],f[i][j]);//取最大价值
    printf("%d",f[1][n]);//愉快输出
}

转载于:https://www.cnblogs.com/Juruo-HJQ/p/9308681.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107628.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 普通最小二乘法的推导证明

    普通最小二乘法的推导证明最小二乘法1、什么是最小二乘思想?​简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。2.最小二乘法推导​我们以最简单的一元线性

    2022年5月17日
    33
  • 基于FPGA的SDRAM控制器设计(一)「建议收藏」

    基于FPGA的SDRAM控制器设计(一)「建议收藏」基于FPGA的SDRAM控制器设计(一)1.SDRAM控制器整体框架2.UART_RX模块3.UART_TX模块4.RX与TX模块的整合5.需要注意的问题1.SDRAM控制器整体框架图1.1整体框架PC端通过串口模块UART_RX发送读写命令以及数据到Cmd_encode模块,由后者分离出数据存入wfifo模块,剩下的读写命令传送到Sdram_top模块对SDRAM进行写操作或者从SDRAM读数据到rfifo模块并通过UART_TX模块将数据送出到PC端。2.UART_RX模块主体代码(见

    2022年7月25日
    6
  • django常见问题_java map get不存在的key

    django常见问题_java map get不存在的key报错情况Django使用makemigrations做数据迁移的时候报如下错误File"/Users/jkc/.virtualenvs/django_env/lib/python3.7

    2022年7月28日
    22
  • vscode搭建react框架(vscode补全js方法)

    文章目录一、安装node二、配置淘宝镜像三、配置vscode(win10)四、全局安装脚手架五、创建项目一、安装node请在官网下载安装:https://nodejs.org/zh-cn/vscode中点击(ctrl+`)调出终端输入指令node-v,能显示版本号,说明node已经装好了输入指令npm-v,能显示版本号,说明npm可以使用了点击链接查看图文教程https://blog.csdn.net/qq_45677671/article/detail

    2022年4月12日
    243
  • 用Python教训盗号骗子

    用Python教训盗号骗子文章目录前言抓包分析代码编写测试效果后记前言近日,本人闲来无事在QQ空间浏览好友动态,突然一张熟悉的图片进入了我的视野,没错,就是它,又是那一张图片。在好奇心的驱使下,我扫了上图中码子,打开一个网站,凭借老夫多年的经验,这网站一定是钓鱼网站。本想就这么算了,可是实在是太无聊了,想要搞一下这个盗号骗子,于是乎就有了这篇文章。抓包分析代码编写思路:利用random随机产生QQ号…

    2022年6月29日
    33
  • 免费的uml建模工具「建议收藏」

    Bullmind-uml建模工具,它是一个免费基于Web的绘图软件,支持UML,流程图,思维导图和许多其他图表类型,Bullmind-uml建模工具附带了一个功能强大且易于使用的图表编辑器,可以快速,顺畅地在线创建任何类型的图表。Bullmind-uml建模工具地址:https://www.bullmind.com/转载于:https://blog.51cto.com/14125675/2388…

    2022年4月12日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号