最长上升子序列模型 笔记

news2024/9/21 2:34:33

 首先附上模板:

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
 
using namespace std;
 
typedef pair<int, int> PII;
typedef long long ll;

const int N = 100010;

int n;
int a[N], q[N];

int main()
{
	IOS
	cin >> n;
	for(int i = 1; i <= n; i ++)
	{
		cin >> a[i];
	}
	int len = 0;
	q[0] = -2e9;
	for(int i = 1; i <= n; i ++)
	{
		int l = 0, r = len;
		while(l < r)
		{
			int mid = l + r + 1 >> 1;
			if(q[mid] < a[i])l = mid;
			else r = mid - 1;
		}
		len = max(len, r + 1);
		q[r + 1] = a[i];
	}
	cout << len;
	
	return 0;
}

友好城市

Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。

北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。

每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。

编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。

输入格式

第1行,一个整数N,表示城市数。

第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和北岸的一对友好城市的坐标。

输出格式

仅一行,输出一个整数,表示政府所能批准的最多申请数。

数据范围

1≤N≤5000,
0≤xi≤10000

输入样例:
7
22 4
2 6
10 3
15 12
9 8
17 17
4 2
输出样例:
4

可以把下面这行看成下标,上面对应的看成ai的值,每一种合法的解都必须满足a_{i+1}>a_i,如果a_{i+1}<a_i的话就会右交叉,以此转换为最长上升子序列模型

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
 
using namespace std;
 
typedef pair<int, int> PII;
typedef long long ll;
typedef pair<ll, int> PLI;

const int N = 5010;

int n;
int f[N];
int q[N], len;

int main()
{
	IOS
	cin >> n;
	vector<PII> A;
	for(int i = 0; i < n; i ++)
	{
		int x, y;
		cin >> x >> y;
		A.push_back({x, y});
	}
	sort(A.begin(), A.end());
	
	q[0] = -2e9;
	for(int i = 0; i < n; i ++)
	{
		int x = A[i].second, l = 0, r = len;
		while(l < r)
		{
			int mid = l + r + 1 >> 1;
			if(q[mid] < x)l = mid;
			else r = mid - 1;
		}
		len = max(len, r + 1);
		q[r + 1] = x;
	}
	cout << len;
	
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1212443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TypeError: Cannot read properties of undefined (reading ‘0‘)

1、在使用<el-dropdown>会报这个错误 原因&#xff1a;使用v-if控制显隐&#xff0c;找不到该节点就会开始报错 解决&#xff1a;使用v-show就可以了

Mac M3 芯片安装 Nginx

Mac M3 芯片安装 Nginx 一、使用 brew 安装 未安装 brew 的可以参考 【Mac 安装 Homebrew】 或者 【Mac M2/M3 芯片环境配置以及常用软件安装-前端】 二、查看 nginx 信息 通过命令行查看 brew info nginx可以看到 nginx 还未在本地安装&#xff0c;显示 Not installed …

零一万物回应「抄袭 LLaMA」;京东原副总裁试用可穿戴人工喉丨 RTE 开发者日报 Vol.85

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

Java聚合对外网关,使用国密SM4采用CBC分组填充模式实现数据加密工具类,Jmeter压测

添加依赖配置 <!-- 仓库地址: https://mvnrepository.com/artifact/commons-codec/commons-codec --><!-- org.apache.commons.codec.binary.Base64 --><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artif…

Python爬虫的七个常用技巧总结,这些你一定得知道!

文章目录 前言1、基本抓取网页2、使用代理IP3、Cookies处理4、伪装成浏览器5、验证码的处理6、gzip压缩7、多线程并发抓取关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战…

5+单基因+免疫浸润,这篇肿瘤预后文章你值得拥有

今天给同学们分享一篇生信文章“Systematic analysis of the role of SLC52A2 in multiple human cancers”&#xff0c;这篇文章发表在Cancer Cell Int期刊上&#xff0c;影响因子为5.8。 结果解读&#xff1a; 多种人类癌症中SLC52A2的mRNA表达 首先&#xff0c;作者使用GT…

Linux设备树(DTS)介绍

Dts&#xff1a;DTS即Device Tree Source&#xff0c;是一个文本形式的文件&#xff0c;用于描述硬件信息。一般都是固定信息&#xff0c;无法变更&#xff0c;无法overlay。 设备树由来 linux内核源码中&#xff0c;之前充斥着大量的平台相关&#xff08;platform Device&…

Windows系统CMake+VS编译protobuf

目录 一些名词CMake构建VS工程下载protobuf源码下载CMake编译QT中使用 方案二失败&#xff1a;CMakeQT自带的Mingw编译参考链接 一些名词 lib dll lib库实际上分为两种&#xff0c;一种是静态链接lib库或者叫做静态lib库&#xff0c;另一种叫做动态链接库dll库的lib导入库或称…

为什么程序员一定要写单元测试?

大家好&#xff0c;我是鱼皮&#xff0c;很多初学编程的同学都会认为 “程序员的工作只有开发新功能&#xff0c;功能做完了就完事儿”。但其实不然&#xff0c;保证程序的正常运行、提高程序的稳定性和质量也是程序员的核心工作。 之前给大家分享过企业项目的完整开发流程&am…

【numpy】数据类型

1、Numpy Python 的扩展库&#xff08;数学函数库&#xff09;&#xff0c;主要用于数组计算。 N维数组对象ndarray广播功能函数整合C/C/Fortran代码的工具线性代数、傅里叶变换、随机数生成等功能 通常与SciPy&#xff08;开源算法库和数学工具包&#xff09;和Matplotlib&a…

action3录制出来的LRF文件的正确打开方式

你会发现使用大疆的产品录制出来的视频会有两种格式&#xff1a;LRF和MP4 这个LRF文件是低分辨率、低码率的预览文件&#xff0c;非常适合预览。 这个文件可以直接通过修改文件后缀转化为.mp4格式

STM32速成笔记—SPI通信

&#x1f380; 文章作者&#xff1a;二土电子 &#x1f338; 关注公众号获取更多资料&#xff01; &#x1f438; 期待大家一起学习交流&#xff01; 文章目录 一、SPI简介二、SPI的四种工作方式三、STM32的SPI通信3.1 SPI内部结构分析3.2 SPI引脚 四、SPI通信程序设计4.1 S…

RSS订阅快速连接Notion

数环通让您可以通过不到几分钟的时间即可实现RSS订阅与Notion的对接与集成&#xff0c;从而高效实现工作流程自动化&#xff0c;降本增效&#xff01; 1.产品介绍 RSS订阅是数环通的内置应用&#xff0c;很多用户通过RSS订阅来收集自己在各大平台上看的内容&#xff0c;当RSS…

清晨早安问候祝福语精选,相互牵挂,祝福无价!

1、有一种祝福&#xff0c;时刻都在心里。无论相隔多远&#xff0c;都能温暖彼此的心灵。珍惜美丽相遇&#xff0c;珍藏这份情意。忙碌不是忘记&#xff0c;牵挂一直都在心里。送上一份心的祝福&#xff0c;书写一份心的牵挂&#xff0c;坦诚相待&#xff0c;温暖相伴&#xff…

XXX系统测试报告测试用例模板

XXX系统测试报告 编制&#xff1a; 2023-5-16 审核&#xff1a; 日期&#xff1a; 批准&#xff1a; 日期&#xff1a; 版本 修订时间 修订人 修订类型 修订章节 修订内容 *修订类型分为 A …

Spring Framework 核心容器详解:Core、Beans、Context 和 Expression Language 模块

Spring可能成为您的所有企业应用程序的一站式商店。但是&#xff0c;Spring是模块化的&#xff0c;允许您挑选适用于您的模块&#xff0c;而无需引入其他模块。下面的部分提供了Spring Framework中所有可用模块的详细信息。 Spring Framework提供了大约20个模块&#xff0c;可…

八大学习方法(金字塔模型、费曼学习法、布鲁姆学习模型)

在微博上看到博主发的&#xff0c;觉得总结很好&#xff0c;在此摘录&#xff1a;

JZ22:链表中倒数第k个结点

JZ22&#xff1a;链表中倒数第k个结点 题目描述&#xff1a; 输入一个链表&#xff0c;输出该链表中倒数第k个结点。 示例1 输入&#xff1a; 1,{1,2,3,4,5} 返回值&#xff1a; {5} 分析&#xff1a; 快慢指针思想&#xff1a; 需要两个指针&#xff0c;快指针fast&…

JS-项目实战-编辑单价单元格,可以点击单价单元格并且出现文本框,并自动选中输入框内部的文本

1、鼠标悬浮和离开事件.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格…

Nginx + RTMP + nginx-http-flv-module 环境搭建(CentOS 7)

文章目录 1. 引言2. 安装 Nginx3. 安装依赖库4. 下载编译 Nginx with RTMP 模块5. 配置 Nginx6. 启动 Nginx7. 推流测试8. 播放测试9. 拓展9.1 鉴权配置9.2 HTTPS 配置9.3 安全性配置 10. 小结 &#x1f389;Nginx RTMP nginx-http-flv-module 环境搭建&#xff08;CentOS 7&…