当前位置: 首页 > news >正文

AcWing算法提高课 1.2.2 最长上升子序列模型(二)

1010 拦截导弹

思路

第一问很简单

第二问也很简单, 用贪心的思想解决, 搞一个单调栈即可

代码

#include <bits/stdc++.h>
#define int long long
using namespace std;const int N = 200010, mod = 1e9 + 7;int n, m, k, x, y, z, ans, t;
int w[N], f[N], q[N];void solve()
{while (cin >> x){w[ ++ n] = x;}int ans = 0;for (int i = 1; i <= n; i ++ ){f[i] = 1;for (int j = 1; j < i; j ++ ){if (w[i] <= w[j])f[i] = max(f[i], f[j] + 1);}ans = max(ans, f[i]);}cout << ans << "\n";ans = 1;for (int i = 1; i <= n; i ++ ){int k = 1;while (w[i] > q[k] && k < ans) k ++;if (ans == k) ans ++;q[k] = w[i];}cout << ans - 1 << "\n";
}signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;
//	cin >> T;while (T -- ){solve();}
}


http://www.mrgr.cn/news/47955.html

相关文章:

  • TCP网络编程:CLOSE_WAIT和TIME_WAIT导致端口耗尽的问题与解决方案
  • 【WebSocket】tomcat内部处理websocket的过程
  • 机器算法之逻辑回归(Logistic Regression)详解
  • 欧洲航天局官方商店遭黑客攻击,用户支付卡被盗
  • python脚本加载ui页面:PySide6设计的页面
  • 41.1 预聚合提速实战项目之需求分析和架构设计
  • 云原生后端
  • uni-app关闭底部系统导航栏的控制按钮BUG
  • Pura 70系列和Pocket 2已支持升级尝鲜鸿蒙NEXT,报名教程在这里
  • 进程的理解
  • 单例模式和读者写者问题
  • 找不到xinput1_3.dll怎么解决,快来试试这个几个方法
  • Java获取当前年月日
  • 活动队列
  • 让你的MacOS剪切板变得更加强大,如何解决复制内容覆盖的问题
  • ORA-01005: null password given; logon denied
  • 数据结构 -- 跳表
  • 耳机座接口会被TYPE-C取代吗?
  • Leetcode.300 最长递增子序列
  • 如何做独立站将产品卖到国外?从零开始打造你的全球电商帝国
  • C语言复习第0章 基础语法
  • C语言学习-循环嵌套打印字母金字塔
  • CPU指令融合技术概述
  • 机电液一体化与先进机器人控制技术国际学术会议
  • 如何使用ssm实现办公OA系统0
  • 学习​Redis 高可用性​