首页 > 其他分享 >最长上升子序列

最长上升子序列

时间:2023-09-26 20:13:29浏览次数:37  
标签:www cnblogs xxx content https 序列 上升 com 最长

母题

求最长上升子序列。

令 \(f_i\) 表示以 \(i\) 结尾的答案,然后考虑对于 \(a_i>a_j,f_i=\max(f_j+1)\)。

1

类似,但是需要预处理,结构是一样的。

2

前缀和、差分,还是很类似。

3

多记录当前选取的子段个数,考虑最后一段选取即可。

4

状态还是前xxx+“<” 个数。

考虑新的数放的位置,由于当前数字是最大的,所以只可能增加一个 \(>,<\),考虑大于小于的个数,即可确定插入的位置有几个,根据乘法原理即可。

https://www.acwing.com/activity/content/code/content/6991643/

简单的拆解成上升段和下降段。

https://www.cnblogs.com/wscqwq/p/17416716.html

利用贪心思想,然后求解母题。

https://www.cnblogs.com/wscqwq/p/17416717.html

爆搜加贪心,还是动态规划的思想。

https://www.cnblogs.com/wscqwq/p/17589856.html

数字最终变换完后只有两种可能,我们状态就是分别记录两种的个数,然后根据已有的和可以计算出当前的数应该的取值。

https://www.cnblogs.com/wscqwq/p/17609388.html

前xxx+乘号个数。

考虑最后一个乘号即可。

高精度可以实现成只有两位。

https://www.cnblogs.com/wscqwq/p/17621465.html

暴力破环,然后就是上题做法。

https://www.cnblogs.com/wscqwq/p/17644083.html

关键是根据最值来判断最多会用几次跳过。

可以确定一个上界,那么就可以采用最后的点,跳过的点数的状态。

https://www.acwing.com/activity/content/code/content/6994539/

需要用到一个数学公式,然后就可以将中间过长的区间进行放缩,使得原来从哪里能跳到一个位置,现在还是可以,即与原来等价。矩阵优化也许也可行。

https://www.acwing.com/activity/content/code/content/6994965/

前xxx+前xxx+已用个数。

然后利用方程之间的关系,采用类似前缀和式优化。

特征

问题都是一个序列上的,而且只需要考虑当前新加的数字即可。状态可能是前xxx或者是最后一个是xxx,附加其他属性。

标签:www,cnblogs,xxx,content,https,序列,上升,com,最长
From: https://www.cnblogs.com/wscqwq/p/17731030.html

相关文章

  • B3637 最长上升子序列
    B3637最长上升子序列dp模板题以样例124134作为说明每个数都是自己的一个子序列,所以全部初始化为1从1-n开始循环,定下来当前要计算的数i再从1-i开始循环,判断i的最长上升子序列,定为j如果i比j要大,则说明是上升的,此时的长度为i的长度与j的长度+1的最......
  • POWERBI_1分钟学会_连续上升或下降指标监控
    一:数据源模拟数据为三款奶茶销量的日销售数据源,日期是23.8.24-23.8.31。A产品为连续7天,日环比下降,B产品为连续3天,日环比下降,C产品为连续2天,日环比下降。二:建立基础度量值首先,我们建立两个基础度量值,计算我们的产品销量和日环比。产品销量=CALCULATE(SUM('数据源'[销量]))......
  • 5. 最长回文子串
    https://leetcode.cn/problems/longest-palindromic-substring/description/前置知识取字符串的子串s.substr(start,len);//start是子串的起始位置,从0开始,len是子串的长度思路枚举回文字符串的中间位置i,如果回文字符串的长度为奇数,则从左右i-1,i+1两个方向遍历字符串,判断是否满足......
  • 浅谈UE4的序列化
    【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!一、结合用例浅谈UE4序列化1.1需求我写文章,不爱一上来就讲道理、贴代码,而是喜欢先提需求、提问题,然后围绕这个需求的实现再一步步挖掘源码。我们......
  • 力扣刷题笔记-05 最长回文子串
    05最长回文子串半山腰有点拥挤,你要去山顶看看。中心扩展法什么是回文从左边出发,字符的顺序和从右边出发是一样的,比如aba,abba。那么基于这个理论,我们就可以想到解决方案:找一个中心点,向两边出发,左右两边各移动一位,如果相同就证明是回文子串,不相同就停止,找下一个中心点中心点......
  • AcWing 896. 最长上升子序列 II
    题目给定一个长度为$N$的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数$N$。第二行包含$N$个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围$1≤N≤100000,−10^9≤数列中的数≤10^9$输入样例:73121856输出样例......
  • C#中使用Newtonsoft.Charp实现Json对象序列化与反序列化
    场景C#中使用Newtonsoft.Json实现对Json字符串的解析:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/105795048上面讲的对JSON字符串进行解析,实际就是JSON对象的反序列化。在与第三方进行交互时常需要封装对象,存储各种属性消息,然后将对象序列化为json字符串并进......
  • PostgreSQL教程:数值类型(整型、浮点型、序列、数值的常见操作)
    整型整型比较简单,主要就是三个:smallint、int2:2字节integer、int、int4:4字节bigint、int8:8字节正常没啥事就integer,如果要存主键,比如雪花算法,那就bigint。空间要节约,根据情况smallint浮点型浮点类型就关注2个(其实是一个)decimal(n,m):本质就是numeric,PGSQL会帮你转换numeric(n,m):PGSQL......
  • P1631 序列合并
    P1631序列合并思路思路一题目要求的是二维的,太麻烦,所以我们可以将其用一维划分,将每一组都变成线性的,那线性的就很好求了,直接排序然后从前往后算即可,那么就可以将这\(n\)组合并,但如果是整个都算出来再合并就会是\(O(n^2)\)的,所以可以只记录当前的,那么对于当前的最小的状态,......
  • 32. 最长有效括号
    给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""输出:0 提示:0<=s.length<=3*104......