最长上升子序列(C语言 动态规划)

2023-11-15

描述

一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),这里1≤i1 < i2 < ... < iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)。 你的任务,就是对于给定的序列,求出最长上升子序列的长度。

格式

输入格式

输入的第一行是序列的长度N(1≤N≤1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。

输出格式

最长上升子序列的长度。

样例

输入样例

7
1 7 3 5 9 4 8

输出样例

4

#include<stdio.h>
int main(){
	int dp[3000]={0},a[3000]={0},n;
	int max=1;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	for(int i=1;i<=n;i++){
		dp[i]=1;
	}
	for(int i=1;i<=n;i++){
		for(int j=i-1;j>0;j--){
			if(a[i]>a[j]&&dp[j]>=dp[i]){
				dp[i]=dp[j]+1;
                if(dp[i]>max){
                	max=dp[i];
				}	
			}
		}
	}
	printf("%d",max);
	return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最长上升子序列(C语言 动态规划) 的相关文章

  • RFC7296--Internet密钥交换协议版本2(IKEv2)

    2 8 密钥更新 rekeying IKE ESP和AH安全联盟 SA 使用的共享密钥应该只在有限的时间里保护优先的数据 这限制了整个SA的生存周期 生存周期超时的SA决不能再使用 如果有需要 可以建立新的SA 重建SA以取代过期的SA被称
  • Python 文件操作(IO)

    文章目录 前言 一 打印到屏幕 print 二 读取键盘输入 1 raw input 2 input 三 读写文件 读文件 写文件 前言 和其它编程语言一样 Python 也具有操作文件 I O 的能力 比如打开文件 读取和追加数据 插入和
  • 什么是token?

    什么是token token就是令牌 前后端进行鉴权的一种有效形式 比传统的 session 鉴权更加方便 简单来说 当用户首次登陆时 网站会给你一张 门卡 以后你可以凭借门卡直接进入 而无需再次申请 但一段时间之后门卡实效 你需要再到前台
  • 如何调用本业务模块外的服务——服务调用

    上篇已经引入 Nacos 基础组件 完成了服务注册与发现机制 可以将所有服务统一的管理配置起来 方便服务间调用 本篇将结合需求点 进行服务间调用 完成功能开发 几种服务调用方式 服务间调用常见的两种方式 RPC 与 HTTP RPC 全称
  • 一个简洁的PNG ICO转换工具 支持多分辨率的ICO生成

    一个绝美的PNG ICO转换工具 支持多分辨率的ICO生成 下载地址 http www ppsbbs tech thread 58 htm
  • Kotlin 1.2 新特性

    点击关注异步图书 置顶公众号 每天与你分享IT好书 技术干货 职场知识 在Kotlin 1 1中 团队正式发布了JavaScript目标 允许开发者将Kotlin代码编译为JS并在浏览器中运行 在Kotlin 1 2中 团队增加了在JVM和
  • Intellij Idea怎么撤销,反撤销

    Intellij IDEA中 1 Ctrl z是撤销快捷键 2 反撤销快捷键为 Ctrl Shift Z
  • React 配置路由

    1 在 index 中引入 App 文件 index 是入口文件 并且在 index 中引入样式文件等等 把 App 挂载到 DOM 元素上 2 在 App 组件中
  • 3 亿岗位将被 AI 取代?巴比特深度采访业界后,“失业潮”真相有些出人意料……...

    图片来源 由无界 AI工具生成 人工智能技术的发展正迎来奇点 尤其是今年以来 ChatGPT 和 AIGC 的迅猛势头让无数人猝不及防 真真切切地对各行各业现有的工作岗位产生冲击 近日 蓝色光标全面停止创意设计 方案撰写 文案撰写 短期雇员
  • (简单成功版本)Mysql配置my.ini文件

    目录 一 背景 二 删除原有的mysql服务 三 初始化mysql 四 自行添加my ini文件 五 新建mysql服务 六 启动mysql服务 七 设置数据库密码 7 1 登录mysql数据库 7 2 修改root用户密码 八 配置my
  • Xcode编译报错不提示

    M1 Xcode Version 12 5 1 12E507 编译项目之后提示 Build Failed 但是并不报 小红点 不指示是哪个文件报错 不知道去哪里找报错文件了 Xocode 工具栏上有这个按钮 选择之后点击某次编译 如果有错误
  • DOTA目标检测数据集

    Dota开源目标检测数据集 DOTA v1 5包含16个类别中的40万个带注释的对象实例 这是DOTA v1 0的更新版本 它们都使用相同的航拍图像 但是DOTA v1 5修改并更新了对象的注释 其中许多在DOTA v1 0中丢失的10像素
  • 拷贝构造函数的调用方式以及相关问题【最清晰易懂】

    这几天一直有一个问题在我大脑里挥之不去 之前面试实习的时候也被问过 但是回答的不好 面试官问 你知道的构造函数有哪些 我说 无参构造函数 有参构造函数 拷贝构造函数 移动构造函数 关于一些函数的说明 面试官说 其实拷贝构造函数 移动构造函数
  • java给字符串数组追加字符串_java往字符串数组追加新数据

    public class Test public static void main String args 原字符串数组 String arr 原字符串数据1 原字符串数据2 执行数据添加 arr insert arr 需要追加的字符串数据
  • win11安装mysql5.7带安装包与常见问题如重装,初次登录不上,跳不了密码等

    目录 1下载 2安装 注意1 你的新建只有文件夹而且需要权限 注意2报错The service already existsThe current server installed 3初次登录与密码 注意3密码是只能输入进去的 4设置密码与
  • OpenCV总结3——图像拼接Stitching

    之前折腾过一段时间配准发现自己写的一点都不准 最近需要进行图像的拼接 偶然的机会查到了opencv原来有拼接的库 发现opencv处理配准之外还做了许多的操作 就这个机会查找了相关的资料 同时也研究了以下他的源代码 做一个简单的总结 Sti
  • css实现表单验证

    在我们的日常业务中 表单验证是个很常见设计需求 像一些登录注册框 问卷调查也都需要用到表单验证 一般我们的实现思路都是JS监听input框的输入内容 判断用户输入内容 从而以此来决定下一步的操作
  • 13.6 Production State Awareness (PSA)

    1 Introduction UFS设备可以利用有关其生产状态的知识 相应地调整内部操作 例如 在设备焊接之前加载到存储设备中的内容可能被破坏 其概率高于regular模式 UFS设备可以在设备焊接前使用 Special 内部操作加载内容
  • qt界面论坛

    http www cnblogs com appsucc archive 2012 03 14 2395657 html
  • JAVA核心知识点--Maven引入org.apache.tools.zip

    可以看出 org apache tools zip 是 ant jar里面的 所以要引入org apache tools zip 直接maven引入ant即可

随机推荐

  • 基于SSM框架的家教中介平台系统的设计与实现(源码免费获取)

    技术架构 Java语言 MySQL数据库 SSM框架 功能简介 1 系统登录 系统登录成为了管理员访问系统的路口 设计了系统登录界面 包括管理员名 密码和验证码 然后对登录进来的管理员判断身份信息 判断其为管理员 还是普通用户 2 管理员管
  • logback 对特殊日志进行过滤

    工作中需要对 logback 的日志进行定制化过滤 此时一般有两种方法 logger 在 logback spring xml 中添加如下配置 可以关闭对应类的日志
  • Intellij安装scala插件详解

    参考博客 1 http wwwlouxuemingcom blog 163 com blog static 20974782201321953144457 2 http blog csdn net stark summer article
  • cvm云服务器的,cvm云服务器如何登录

    cvm 登录到 本地为 Windows 计算机 1 在本地 Windows 机器上 单击开始菜单 运行 输入 mstsc 命令 即可打开远程桌面连接对话框 2 在输入框输入 Windows 服务器的公网 IP 登录 云服务器控制台 可查看云
  • 牛客剑指offer之【JZ12 矩阵中的路径】

    哈喽 这次真的是好久不见呀 我回来啦 接下来的日子我会不断更新牛客上的剑指offer题解 为什么这么做呢 是因为博主刷题总是刷了忘忘了刷 一样的题目换种形式就要做好久 说到底还是对知识点的理解不够透彻 加之算法对一个即将找工作的大学生来说更
  • 【Pytorch with fastai】第 15 章 :深入探讨应用程序架构

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 计算机网络参考模型(OSI讲解)

    计算机网络参考模型 文章目录 计算机网络参考模型 一 什么是七层网络模型 二 每一层的功能与特点 三 osi模型和TCP IP模型的区别 四 数据封装和解封装的过程 1 封装与解封装过程 2 设备与层之间的关系 一 什么是七层网络模型 七层
  • 保护模式的分段

    一 分段的背景 在8086处理器诞生之前 内存寻址方式就是直接访问物理地址 8086处理器为了寻址1M的内存空间 把地址总线扩展到了20位 但是 一个尴尬的问题出现了 ALU的宽度只有16位 也就是说 ALU不能计算20位的地址 为了解决这
  • Less-11-12 【‘、“)】

    目录 第十一 十二关 1 在账号密码输入admin 查看成功效果 2 输入错误的账号密码 查看错误效果 3 找注入点 我们尝试在账户的输入框中加单引号 发现出现报错 4 加注释 查看页面是否恢复正常 可以看到页面成功执行了 证明当前网址存在
  • vscode搭建linux内核开发环境

    vscode在linux下搭建内核驱动开发环境 一 前言 Souce insight是一个阅读 开发linux内核驱动模块的好工具 但是Source insight是收费的软件 而且没有原生linux版本 要是想在纯linux环境下进行li
  • Unity3D RPG实现 3 —— 对话、任务系统

    目录 成果展示 对话系统 对话的存储数据结构 对话的UI面板设置 创建对话 任务的 NPC 实现对话控制器显示主对话窗口的内容 创建对话的选项内容 任务系统 创建任务 UI 面板 任务的存储数据结构 任务管理器与接受任务 任务控制相关脚本
  • Linux内核网络:实现与理论--介绍

    这本书主要涉及了Linux内核网络协议栈的实现和它背后的理论 你会在后续章节发现更深层次和更细节地针对网络子系统的分析和它的结构 我不会讨论和网络没有直接关系的话题内容 比如你在读内核里网络代码的时候会遇到锁 同步 SMP 原子操作等等 关
  • 2023年03月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

    C C 编程 1 8级 全部真题 点这里 第1题 数字字符求和 请编写一个程序实现以下功能 从一个字符串中 提取出所有的数字字符即0 9 并作为数求和 时间限制 1000 内存限制 65536 输入 一行字符串 长度不超过100 字符串中不
  • facebook网络架构学习总结(F4)

    1 简介 1 1 大规模快速演进 Facebook 的生产网络本身就是一个大型分布式系统 针对不同任务划分成不同层次并采 用不同的技术 a large distributed system with specialized tiers an
  • mysql中如何设置时区_如何设置MySQL的时区?

    我认为这可能是有用的 有三个位置可以在MySQL中设置时区 在 mysqld 部分中的 my cnf 文件中default time zone 00 00 global Timezone变量 若要查看它们设置为什么值 请执行以下操作 SEL
  • 如何为Kafka集群选择合适的Topic/Partitions数量

    这是许多kafka使用者经常会问到的一个问题 本文的目的是介绍与本问题相关的一些重要决策因素 并提供一些简单的计算公式 越多的分区可以提供更高的吞吐量 首先我们需要明白以下事实 在kafka中 单个patition是kafka并行操作的最小
  • 2023华为OD机试真题【最左侧冗余覆盖子串/滑动窗口】

    题目描述 给定两个字符串 s1 和 s2 和正整数k 其中 s1 长度为 n1 s2 长度为 n2 在s2中选一个子串 满足 1 该子串长度为n1 k 2 该子串中包含s1中全部字母 3 该子串每个字母出现次数不小于s1中对应的字母 我们称
  • Element-UI 前端UI 组件库

    目录 Element UI 前端UI 组件库 配置Element UI 组件库 通过 UI 界面方式实现 配置插件 遇到的问题 Element UI 前端UI 组件库 个人博客地址 Element UI 前端UI 组件库 配置Element
  • Java代码连接数据库

    一 JDBC 全称 Java database connectivity java连接数据库 使用 Java 代码去连接数据库 然后对数据库中的数据进行增删改查 加载驱动 首先导入mysql的jar包 1 在 src 文件夹下面新建一个 l
  • 最长上升子序列(C语言 动态规划)

    描述 一个数的序列bi 当b1 lt b2 lt lt bS的时候 我们称这个序列是上升的 对于给定的一个序列 a1 a2 aN 我们可以得到一些上升的子序列 ai1 ai2 aiK 这里1 i1 lt i2 lt lt iK N 比如 对