【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】

news/2025/2/3 11:36:50 标签: 算法

题目

代码(只给出树状数组的)

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int n, m;
int a[N], b[N], f[N], tr[N]; //f[i]表示以a[i]为尾的LIS的最大长度
void init()
{
    sort(b+1, b+n+1);
    m = unique(b+1, b+n+1) - b - 1;
    for(int i = 1; i <= n; i++)
        a[i] = lower_bound(b+1, b+m+1, a[i]) - b; //离散化,重新按照大小编号为1~m
}
void update(int x, int val)
{
    for(; x <= m; x += x & -x)
        tr[x] = max(tr[x], val);
}
int query(int x)
{
    int retv = 0;
    for(; x; x -= x & -x)
        retv = max(retv, tr[x]);
        
    return retv;
}
int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> a[i], b[i] = a[i];
        
    init();
    
    int ans = 0;
    for(int i = 1; i <= n; i++)
    {
        f[i] = query(a[i] - 1) + 1; //求以(1~a[i]-1)为尾的LIS的最大长度
        ans = max(ans, f[i]);
        update(a[i], f[i]);
    }
    
    cout << ans;
}


http://www.niftyadmin.cn/n/5840751.html

相关文章

玩转Docker | 使用Docker部署SSCMS内容管理系统

玩转Docker | 使用Docker部署SSCMS内容管理系统 前言一、项目介绍SSCMS 简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署SSCMS系统下载镜像创建容器检查容器状态检查服务端口安全设置四、访问SSCMS应用初始化配置访问SSCMS管理后台六、配置SS…

课题介绍:基于惯性与单目视觉信息融合的室内微小型飞行器智能自主导航研究

室内微小型飞行器在国防、物流和监测等领域中应用广泛&#xff0c;但在复杂的非合作环境中实时避障和导航仍面临诸多挑战。由于微小型飞行器的载荷和能源限制&#xff0c;迫切需要开发高效的智能自主导航系统。本项目旨在研究基于惯性导航与单目视觉信息融合的技术&#xff0c;…

Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具(专业版)

前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…

SAP SD学习笔记28 - 请求计划(开票计划)之2 - Milestone请求(里程碑开票)

上一章讲了请求计划&#xff08;开票计划&#xff09;中的 定期请求。 SAP SD学习笔记27 - 请求计划(开票计划)之1 - 定期请求-CSDN博客 本章继续来讲请求计划&#xff08;开票计划&#xff09;的其他内容&#xff1a; Milestone请求(里程碑请求)。 目录 1&#xff0c;Miles…

鸿蒙 组件封装使用

效果 项目目录截图 一、GoodItem代码如下 import { Item } from ../entity/Item/*** GoodItem 组件用于展示商品信息* 它包含商品的图片、名称、价格和优惠信息*/ Component export struct GoodItem {// 商品项&#xff0c;包含商品的基本信息public goodsItem: Item new Item…

Visual Studio Code应用本地部署的deepseek

1.打开Visual Studio Code&#xff0c;在插件中搜索continue&#xff0c;安装插件。 2.添加新的大语言模型&#xff0c;我们选择ollama. 3.直接点connect&#xff0c;会链接本地下载好的deepseek模型。 参看上篇文章&#xff1a;deepseek本地部署-CSDN博客 4.输入需求生成可用…

《Hands-On Machine Learning with Scikit-Learn, Keras TensorFlow》第一章读书笔记

第一部分&#xff1a;理论篇 1. 什么是机器学习&#xff1f; 核心定义 机器学习是让计算机从数据中学习的科学&#xff0c;而无需显式编程。 经典定义 Arthur Samuel (1959): “让计算机无需明确编程就具备学习能力” Tom Mitchell 的工程定义: “如果一个程序通过经验 E 在某…

利用腾讯云cloud studio云端免费部署deepseek-R1

1. cloud studio 1.1 cloud studio介绍 Cloud Studio&#xff08;云端 IDE&#xff09;是基于浏览器的集成式开发环境&#xff0c;为开发者提供了一个稳定的云端工作站。支持CPU与GPU的访问。用户在使用 Cloud Studio 时无需安装&#xff0c;随时随地打开浏览器即可使用。Clo…