刚学习的最长不递增子序列的新求法

P1020 [NOIP1999 提高组] 导弹拦截 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

在做这题的时候学到的

我看说是复杂度在O(nlogn)的算法才能通过这题

普通的办法就不行了(之前写过)

然后我去看题解,学了这种新的方法

网址如下:题解 P1020 【[NOIP1999 普及组] 导弹拦截】 - 古明地觉世界第一! - 洛谷博客 (luogu.com.cn)

然后自己写了下面的这个代码:

#include<stdio.h>
#include<ctype.h>
void scanf_line(void);
int dic(int l, int u, int hi);
int dp[10], f[10], num[10];
int len, maxn = 1;int main(void)
{//输入scanf_line();//求最长不递增子序列f[1] = num[1];for(int i = 2; i <= len; i++){//二分法求fx最逼近hi时的x,更新dp以及f,maxndp[i] = dic(1, maxn, num[i]) + 1;f[dp[i]] = num[i];maxn = (maxn > dp[i]) ? maxn : dp[i];}//输出printf("%d", maxn);return 0;
}
void scanf_line(void)
{int ext = 0;for(char c; (c = getchar()) != '\n'; )if(isdigit(c))ext = ext * 10 + c - '0';elsenum[++len] = ext, ext = 0;num[++len] = ext;return;
}
int dic(int l, int u, int hi)
{//初始时的意外情况if(f[l] <= hi)  return 0;if(f[u] >= hi)  return u;//正常结束的情况if(u - l <= 1)  return l;int mid = (l + u) / 2;if(f[mid] < hi)  return dic(l, mid, hi);else if(f[mid] > hi)  return dic(mid, u, hi);else  return mid;
}

这个代码只求了最大不递增子序列的数量

为的是做上面那道题做准备

而第二位看题解是有两个方法

最多的方法就是利用Dliworth定理做的

等做完再水一篇文吧

看题解用C++的STL做的非常简洁,最近在学C++,准备“升级”了,晚上又看了MCTS,感觉脑子要炸掉

白天去练习了科三,简单来说就是感觉要寄了

最近事有点多啊。。。

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

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

相关文章

Unity 工厂方法模式(实例详解)

文章目录 在Unity中&#xff0c;工厂方法模式是一种创建对象的常用设计模式&#xff0c;它提供了一个接口用于创建对象&#xff0c;而具体的产品类是由子类决定的。这样可以将对象的创建过程与使用过程解耦&#xff0c;使得代码更加灵活和可扩展。 工厂模式的主要优点如下&…

深度学习笔记(九)——tf模型导出保存、模型加载、常用模型导出tflite、权重量化、模型部署

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解&#xff0c;如有遗漏或错误&#xff0c;欢迎评论或私信指正。 本篇博客主要是工具性介绍&#xff0c;可能由于软件版本问题导致的部分内容无法使用。 首先介绍tflite: TensorFlow Lite 是一组工具&#xff0c;可帮助开…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-1最优控制问题与性能指标

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-1最优控制问题与性能指标

LINUX常用工具之性能分析工具推荐

一、CPU性能分析工具 性能指标 工具 说明 用法举例&#xff1a; 平均负载 Top Uptime Uptime&#xff1a;最简单&#xff1b; Top&#xff1a;提供了更全的指标&#xff08;平均负载、运行队列、整体的CPU使用率以及每个进程状态和CPU使用率&#xff09; Top&#xff1a…

Spring+SprinMVC+MyBatis注解方式简易模板

SpringSprinMVCMyBatis注解方式简易模板代码Demo GitHub访问 ssm-tpl-anno 一、数据准备 创建数据库test&#xff0c;执行下方SQL创建表ssm-tpl-cfg /*Navicat Premium Data TransferSource Server : 127.0.0.1Source Server Type : MySQLSource Server Version :…

opendrive-经纬度投影坐标转横轴墨卡托投影坐标

xodr的geoReference标签介绍 经纬度投影 xodr文件projlatlong&#xff0c;说明需要使用经纬度投影代表x,y,z <geoReference>projlatlong ellpsWGS84 datumWGS84</geoReference>xodr文件projtmerc&#xff0c;说明需要使用横轴墨卡托投影(将经纬度投影转为墨卡托投…

【优化技术专题】「性能优化系列」针对Java对象压缩及序列化技术的探索之路

针对Java对象压缩及序列化技术的探索之路 序列化和反序列化为何需要有序列化呢&#xff1f;Java实现序列化的方式二进制格式 指定语言层级二进制格式 跨语言层级JSON 格式化类JSON格式化&#xff1a;XML文件格式化 序列化的分类在速度的对比上一般有如下规律&#xff1a;Java…

选择排序(二)——堆排序(性能)与直接选择排序

目录 一.前言 二.选择排序 2.1 堆排序 2.2选择排序 2.2.1 基本思想 2.2.2直接选择排序 三.结语 一.前言 本文给大家带来的是选择排序&#xff0c;其中选择排序中的堆排序在之前我们已经有过详解所以本次主要是对比排序性能&#xff0c;感兴趣的友友可移步观看堆排&#…

世微AP5179 60V高端电流采样降压恒流驱动器 LED车灯备用灯信号灯

产品描述 AP5179是一款连续电感电流导通模式的降压恒流源&#xff0c;用于驱动一颗或多颗串联LED输入电压范围从 5 V 到 60V&#xff0c;输出电流 可达 2.0A 。根据不同的输入电压和 外部器件&#xff0c; 可以驱动高达数十瓦的 LED。 内置功率开关&#xff0c;采用高端电流采样…

python实现带刷新的文本进度条

进度条已执行的部分使用“**”&#xff0c;未执行的部分使用“--”&#xff0c;用print&#xff08;&#xff09;来完成 使用到的函数&#xff1a; time.sleep(),作用是在程序执行过程中暂停一段时间&#xff0c;即会使程序暂停指定的秒数&#xff0c;然后再继续执行后面的代…

【Unity学习笔记】Unity TestRunner使用

转载请注明出处&#xff1a;&#x1f517;https://blog.csdn.net/weixin_44013533/article/details/135733479 作者&#xff1a;CSDN|Ringleader| 参考&#xff1a; Input testingGetting started with Unity Test FrameworkHowToRunUnityUnitTest如果对Unity的newInputSystem感…

C: CRC16,CRC32 计算代码

说明&#xff1a;CRC16/MODBUS ,CRC32 计算代码 推荐个在线CRC计算网站 http://www.ip33.com/crc.html 1&#xff1a;计算 CRC32 算法代码&#xff1a; //计算CRC32的算法代码&#xff1a; uint32_t crc32(uint8_t *data, uint32_t length) {uint32_t crc 0xFFFFFFFF;uint3…

HTML JavaScript 数字变化特效

效果 案例一&#xff1a;上下滚动 案例二&#xff1a;本身变化 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><met…

什么是JSX以及在React中的使用

1. 什么是JSX&#xff1f; JSX是一种JavaScript的语法扩展&#xff0c;它是一个看起来很像 XML 的 JavaScript 语法扩展。虽然它看起来像模板语言&#xff0c;但实际上它更接近于JavaScript的语法糖。JSX代码在运行时会被转译为普通的JavaScript对象。 以下是一个简单的JSX示…

初识 JVM

什么是JVM JVM 全称是 J ava V irtual M achine&#xff0c;中文译名 Java虚拟机 。 JVM 本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行 Java字节码文件 。 JVM的功能 Java语言如果不做任何优化&#xff0c;性能不如C、C等语言。 Java需要实时解释&…

【主题广范|见刊快】2024年生物信息学与智能系统国际学术会议(IACBIS 2024)

【主题广范|见刊快】2024年生物信息学与智能系统国际学术会议(IACBIS 2024) 2024 International Conference Bioinformatics and Intelligent Systems(IACBIS 2024) 一、【会议简介】 在2024年&#xff0c;一场全球瞩目的学术盛会将在某个繁华的都市中心举行。这次会议的主题是…

Android学习之路(22) ARouter原理解析

1.ARouter认知 首先我们从命名来看:ARouter翻译过来就是一个路由器。 官方定义&#xff1a; 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 那么什么是路由呢&#xff1f; 简单理解就是&#xff1a;一个公共平台转发系统 工作方式&…

Python——Requests库笔记①

简介 Requests是Python的一个第三方库&#xff0c;可以方便地向网站发送 HTTP 请求&#xff0c;并获取响应结果。 &#xff08;Requests is an elegant and simple HTTP library for Python, built for human beings.&#xff09; Requests库安装 启动cmd&#xff0c;输入以…

「回看 Milvus 的 2023」:AI 热潮中的非典型向量数据库

2023 年是 AI 应用开发领域的一个重要转折点。 在这一年里&#xff0c;大语言模型&#xff08;LLMs&#xff09;因其卓越的自然语言处理能力而广受赞誉&#xff0c;极大地拓宽了机器学习应用的场景。开发者们逐渐意识到&#xff0c;有了 LLMs&#xff0c;他们可以设计出更智能、…

软件系统测试方案-word

2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.2. 测试环境 4.2.1. 硬件环境 4.2.2. 软件环境 4.3. 进度安排 5. 功能测试 6. 性能测试 7. 安全性与访问控…