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

笔试专题(十五)

文章目录

  • 排序子序列
    • 题解
    • 代码
  • 消减整数
    • 题解
    • 代码
  • 最长公共子序列(二)
    • 题解
    • 代码

排序子序列

题目链接
在这里插入图片描述

题解

1. 贪心 + 模拟
2. 1 2 3 2 2 应该是有两个排列子序列的,所以i == n-1时ret++
3. 把水平的位置和上升部分,水平位置和下降部分分为一个排列子序列

在这里插入图片描述

代码

#include <iostream>
using namespace std;const int N =1e5 + 10;
int a[N];int main()
{int n;cin >> n;for(int i = 0;i < n;i++) cin >> a[i];// 开始并不知道是上升的还是下降的,加加跳过水平的位置int ret = 0;// 统计最少的排序子序列int i = 0;while(i < n){while(i + 1 < n && a[i] == a[i+1]) i++;if(i == n-1){ret++;break;}if(a[i] > a[i+1]){while(i + 1 < n && a[i] >= a[i+1]) i++;ret++;}else if(a[i] < a[i+1]){while(i + 1 < n && a[i] <= a[i+1]) i++;ret++;}i++;// 为了让水平的部分跳过}cout << ret << '\n';return 0;
}

消减整数

题目链接
在这里插入图片描述

题解

1. 贪心 + 数学
2. 第一次必须减1,a = 1,之后的数如果是a的2倍,那么a乘2,每次ret++
3. 贪心:如果这个数模2*a == 0就一直贪心

在这里插入图片描述

代码

#include<iostream>using namespace std;int main()
{int t;cin >> t;while(t--){int h;cin >> h;int ret = 0;int a = 1;while(h){h -= a;ret++;if(h % (2*a) == 0){a *= 2;}}cout << ret << '\n';}return 0;
}

最长公共子序列(二)

题目链接
在这里插入图片描述

题解

1. 贪心 + 二分
2. 时间复杂度:O(N*logN)
3. 动态规划的时间复杂度:O(N^2)

在这里插入图片描述

代码

class Solution 
{int dp[100010] = {0};int pos = 0;
public:int LIS(vector<int>& a) {for(auto x : a){if(pos == 0 || x > dp[pos]){dp[++pos] = x;}else {// 二分int l = 1,r = pos;while(l < r){int mid = (l + r) / 2;if(dp[mid] >= x) r = mid;else l = mid + 1; }dp[l] = x;}}    return pos;}
};
http://www.xdnf.cn/news/287605.html

相关文章:

  • 3小时超快速入门Python
  • 字符串,数组,指针之间的关系
  • Python实现自动驾驶中的车道检测算法:从理论到实践
  • win10开了移动热点,手机无法连接,解决办法(chatgpt版)
  • 手机SIM卡打电话时识别对方按下的DTMF按键(二)
  • SpringBoot整合RabbitMQ(Java注解方式配置)
  • CMake基础介绍
  • D. Pythagorean Triples 题解
  • 手机打电话时由对方DTMF响应切换多级IVR语音应答(一)
  • \documentclass[lettersize,journal]{IEEEtran}什么意思
  • 机器人强化学习入门学习笔记(二)
  • DeepSeek-Prover-V2:数学定理证明领域的新突破
  • Dify网页版 + vllm + Qwen
  • Matlab自学笔记五十三:保存save和载入load
  • 杨校老师竞赛课之C++备战蓝桥杯初级组省赛
  • Python爬虫实战:获取优美图库各类高清图片,为用户提供设计素材
  • 洛谷 P9007 [入门赛 #9] 最澄澈的空与海 (Hard Version)
  • 【从零开始学习微服务 | 第一篇】单体项目到微服务拆分实践
  • 本地MySQL连接hive
  • ASP.NET Core 请求限速的ActionFilter
  • 算法中的数学:质数(素数)
  • 30天通过软考高项-第十一天
  • CodeBlocks25配置wxWidgets3.2
  • 004-nlohmann/json 快速认识-C++开源库108杰
  • 地埋式燃气泄漏检测装置与地下井室可燃气体检测装置有什么区别
  • 专业课复习笔记 4
  • Vue中的过滤器参数:灵活处理文本格式化
  • 5月5日日记
  • 基于 HTML5 Canvas 实现图片旋转与下载功能
  • linux tar命令详解。压缩格式对比