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

最长(不)上升子序列

时间:2023-07-30 17:15:24浏览次数:34  
标签:int bound ++ cnt2 cnt1 序列 上升 最长

直接用lower_bound()和upper_bound()进行二分查找

 1     b[0] = a[0];
 2     //最长不上升子序列
 3     for (int i = 1; i < cnt; i++) {
 4         if (b[cnt1] >= a[i])
 5             b[++cnt1] = a[i];//序列向后移
 6         else {
 7             int x = upper_bound(b, b + cnt1, a[i], greater<int>()) - b;//降序查找
 8             b[x] = a[i];//找到第一个小于a[i],将它替换
 9         }
10 
11     }
12     memset(b, 0, sizeof(b));
13     b[0] = a[0];
14     //最长上升子序列
15     for (int i = 1; i < cnt; i++) {
16         if (a[i] > b[cnt2])
17             b[++cnt2] = a[i];//序列向后移
18         else {
19             int x = lower_bound(b, b + cnt2, a[i]) - b;//升序查找
20             b[x] = a[i];//找到第一个大于等于a[i],替换
21         }
22     }

 

标签:int,bound,++,cnt2,cnt1,序列,上升,最长
From: https://www.cnblogs.com/DLSQS-lkjh/p/17591667.html

相关文章

  • m基于双PN序列的数据帧检测,帧同步verilog实现,含testbench
    1.算法仿真效果本系统进行Vivado2019.2平台的开发,其中Vivado2019.2仿真结果如下:2.算法涉及理论知识概要基于双PN序列的数据帧检测和帧同步是一种在通信系统中常用的技术,用于确保接收端正确地识别和解析传输的数据帧。在本文中,我将详细介绍基于双PN序列的数据帧检测的数学原理和......
  • m基于UW序列的数据帧检测,帧同步verilog实现,含testbench
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,仿真结果如下所示:2.算法涉及理论知识概要UW序列是一种特殊类型的伪随机二进制序列,通常用于数据帧检测和帧同步。UW序列具有以下特性:平衡性:UW序列中的1和0的数量大致相等,确保序列具有良好的自相关性。低互相关:不同UW序列之间......
  • m基于双PN序列的数据帧检测,帧同步verilog实现,含testbench
    1.算法仿真效果 本系统进行Vivado2019.2平台的开发,其中Vivado2019.2仿真结果如下:   2.算法涉及理论知识概要       基于双PN序列的数据帧检测和帧同步是一种在通信系统中常用的技术,用于确保接收端正确地识别和解析传输的数据帧。在本文中,我将详细介绍基于双PN......
  • m基于UW序列的数据帧检测,帧同步verilog实现,含testbench
    1.算法仿真效果 本系统进行了Vivado2019.2平台的开发,仿真结果如下所示:   2.算法涉及理论知识概要      UW序列是一种特殊类型的伪随机二进制序列,通常用于数据帧检测和帧同步。UW序列具有以下特性: 平衡性:UW序列中的1和0的数量大致相等,确保序列具有良好的自相......
  • 3-2 编写一个函数 escape(s, t),将字符串 t 复制到字符串 s 中,并在复制 过程中将换行
    ArchlinuxGCC13.1.1 202304292023-07-3012:57:46星期日 点击查看代码#include<stdio.h>voidescape(chars[],chart[]){inti,j;i=j=0;while(t[i]!='\0'){switch(t[i]){case�......
  • log4j反序列化漏洞
    Vulhub-Docker-Composefileforvulnerabilityenvironment1、介绍名称:nginx解析漏洞编号:原理:应用:log4j版本:2、测试2.1靶场搭建2.2 ysoserial:JAVA反序列化POC生成工具(gitee.com)......
  • 【Java】使用fastjson进行序列化时出现空指针异常问题研究
    最近在使用fastjson的JSONObject.toJSONString()方法将bean对象转为字符串的时候报如下错误:com.alibaba.fastjson.JSONException:writejavaBeanerror,fastjsonversion1.2.58,classcom.sun.proxy.$Proxy395,fieldName:0 atcom.alibaba.fastjson.serializer.JavaBeanS......
  • WEB漏洞—反序列化之php&java(上)
    PHP反序列化原理:---未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果。---其实跟文件解析差不多,都是由于传递的恶意参数被执行(序列化和反序列化相当于加解密过程)---在反序列化的过程中自动触发了某些魔术方......
  • LC 3、无重复字符的最长子串
    LC3、无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的【最长字串】的长度。示例:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。双指针+哈希表定义两个指针start和end表示当前处理的字串的头部和尾部,同时end......
  • Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准
    全文下载链接:http://tecdat.cn/?p=26562最近我们被客户要求撰写关于循环神经网络的研究报告,包括一些图形和统计输出。自2000年 1月以来的股票价格数据。我们使用的是Microsoft股票。该项目包括:将时间序列数据转换为分类问题。使用TensorFlow的LSTM模型由MSE衡......