首页 > 其他分享 >Optimal Partition (线段树优化DP)

Optimal Partition (线段树优化DP)

时间:2022-10-11 08:45:46浏览次数:56  
标签:max sum Partition DP 数组 Optimal 优化 线段 dp

给定一个数组 a,(1≤n≤5×105),你需要将其分割为若干个连续的子数组,使所有子数组的价值总和最大。

定义价值是:

  • r-l+1,和 >0
  • 0, 和=0
  • -(r−l+1), 和<0;

思路:

  • 首先这道题初步想的时候 考虑到贪心和dp
  • 贪心贪不出来,就马上转dp
  • 直接暴力想 是 n^2
  • 那么就要考虑优化
  • dp优化就要从转移式子入手
  • 暴力公式:
    • dp[i]  max=  dp[j] + (i-j)  dp[i]=max(dp[j]+(i−j)) sum(j + 1, i)} > 0
    • dp[i] max= dp[j] dp[i]=max(dp[j]),{sum(j + 1, i)} = 0
    • dp[i] max=  dp[j] + (j-i) dp[i]=max(dp[j]+(j−i)),sum(j + 1, i)<0

          利用前缀和 优化 sum

    • dp[i] max=  dp[j] - j + i,s[i] > s[j]
    • dp[i] max=dp[i],s[i] = s[j]
    • dp[i]  max=  dp[j] + j  - i,s[i] < s[j]
  • 于是就出来了, 将 s[i], 里面的值进行离散化, 然后以他作为下标来建树
  •  然后 这个线段树来保存上面的最大值, 分别查询前段,后端,和自己就行拉;

后记:

  • 当正解不好想的时候就 暴力做, 看能不能想出一种方法做出来
  • 然后在想优化的方法.

标签:max,sum,Partition,DP,数组,Optimal,优化,线段,dp
From: https://www.cnblogs.com/Lamboofhome/p/16778024.html

相关文章

  • 矩阵类优化——动态dp
    Idea主要指用矩阵维护带修改的dp问题的方法,一般会用到数据结构来维护矩阵。矩阵的用法具体见矩阵加速优化dp.下面主要根据例题讲解。Problem1.P4719【模板】"......
  • expdp备份集直接导出到asm磁盘组
    文档课题:expdp备份集直接导出到asm磁盘组.系统:rhel8.464位数据库:oracle19.1264位+asm+单实例+多租户操作过程:ASMCMD>pwd+data/orclcdbASMCMD>mkdirrmanbakASMC......
  • Problem P32. [算法课分支限界法]Partition to K Equal Sum Subsets
    纯暴力遍历+剪枝,将任务看出有k个桶,要将每个桶都刚刚好装满。#include<iostream>#include<bits/stdc++.h>#include<cstdio>#include<string>usingnamespacestd;......
  • TCP与UDP的联系与区别
    1.传输控制协议(TransmissionControlProtocol,TCP)是一种可靠的面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后在此连接上,被编号的数据段按序......
  • TCP与UDP的联系与区别(以及网络字节序与主机字节序的转换函数实践)
    TCP和UDP区别这两种传输方式都在实际的网络编程中使用,重要的数据一般使用TCP方式进行数据传输,而大量的非核心数据则可以通过UDP方式进行传递,在一些程序中甚至结合使用这两......
  • TCP和UDP的区别
    TCP的优点:可靠,稳定TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统......
  • TCP与UDP的区别、联系
    一、TCP、UDP的区别1、TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算......
  • TCP与UDP的联系与区别
    TCP与UDP的联系与区别,网络字节序与主机字节序的转换函数实践(1)TCP(TransmissionControlProtocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠......
  • TCP与UDP||网络字节序与主机字节序
    一、TCP和UDP的区别:1、udp不一定提供可靠的数据传输,该协议不能保证数据准确无误地到达目的地;2、tcp的目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一......
  • [Algorithm] DP - Min Number of Jumps
    You'regivenanon-emptyarrayofpositiveintegerswhereeachintegerrepresentsthemaximumnumberofstepsyoucantakeforwardinthearray.Forexa......