AcWing 3817:数组 ← 贪心算法

embedded/2024/10/19 10:45:29/

【题目来源】
https://www.acwing.com/problem/content/3820/

【题目描述】
给定一个长度为 nA 的非降序整数数组 A 和一个长度为 nB 的非降序整数数组 B。
请问,能否从 A 中挑选 k 个数,从 B 中挑选 m 个数,使得在 A 中挑选出的任何数都严格小于在 B 中挑选出的任何数。

【输入格式】
第一行包含两个整数 nA,nB。
第二行包含两个整数 k,m。
第三行包含 nA 个整数 a1,a2,…,anA。
第四行包含 nB 个整数 b1,b2,…,bnB。

【输出格式】
共一行,能则输出 YES,否则输出 NO。

【数据范围】
1≤nA,nB≤10^5,
1≤k≤nA,
1≤m≤nB,
−10^9≤ai,bi≤10^9。
保证 A 和 B 都是
非降序数组。

【输入样例1】
3 3
2 1
1 2 3
3 4 5

【输出样例1】
YES

【输入样例2】
3 3
3 3
1 2 3
3 4 5

【输出样例2】
NO

【输入样例3】
5 2
3 1
1 1 1 1 1
2 2

【输出样例3】
YES

【算法分析】
☆★ 贪心是通过局部最优解,找到全局最优解。所以,贪心算法一般适用于
单峰问题。
☆★ C++ 中
reverse() 函数的示例代码。

#include<bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
int a[maxn];int main() {int n;cin>>n;for(int i=0; i<n; i++) cin>>a[i];reverse(a,a+n);for(int i=0; i<n; i++) cout<<a[i]<<" ";return 0;
}/*
in:
5
1 3 5 7 9out:
9 7 5 3 1
*/


【算法代码】

#include<bits/stdc++.h>
using namespace std;const int maxn=1e5+5;
int a[maxn];
int b[maxn];int main() {int na,nb,k,m;cin>>na>>nb>>k>>m;for(int i=0; i<na; i++) cin>>a[i];for(int i=0; i<nb; i++) cin>>b[i];reverse(b,b+nb);if(a[k-1]<b[m-1]) cout<<"YES";else cout<<"NO";return 0;
}/*
in:
3 3
2 1
1 2 3
3 4 5out:
YES
*/



【参考文献】
https://www.acwing.com/solution/content/120077/

 


http://www.ppmy.cn/embedded/128718.html

相关文章

智能EDA从0开始 —— DAY25 FEATs

关于FEATs&#xff1a;探索未来EDA与AI技术的研讨会与AMS电路拓扑生成的新纪元 FEATs&#xff08;Future EDA and AI Techniques Seminar&#xff09;&#xff0c;一个由东方理工大学、上海交通大学以及美国加州大学洛杉矶分校&#xff08;UCLA&#xff09;等国内外顶尖高校的青…

K8s的储存

一 configmap 1.1 configmap的功能 configMap用于保存配置数据&#xff0c;以键值对形式存储。 configMap 资源提供了向 Pod 注入配置数据的方法。 镜像和配置文件解耦&#xff0c;以便实现镜像的可移植性和可复用性。 etcd限制了文件大小不能超过1M 1.2 configmap的使用场…

MySQL数据库中存储图片和读取图片的操作

文章目录 方法一&#xff1a;将图片以 BLOB 类型存储在数据库中MySQL 语句实现Python 实现 方法二&#xff1a;将图片存储在文件系统中&#xff0c;并在数据库中存储路径MySQL 语句实现Python 实现 总结 在MySQL数据库中存储图片通常有两种主要方式&#xff1a;将图片以二进制数…

OpenCV高级图形用户界面(19)设置窗口属性的函数setWindowProperty()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 动态地改变窗口参数 该函数 setWindowProperty 允许改变窗口的属性。 cv::setWindowProperty 是 OpenCV 中用于设置窗口属性的函数。它可以用来…

设计模式03-装饰模式(Java)

4.4 装饰模式 1.模式定义 不改变现有对象结构的情况下&#xff0c;动态地给该对象增加一些职责&#xff08;即增加其额外功能&#xff09;的模式。 2.模式结构 抽象构件角色 &#xff1a;定义一个抽象接口以规范准备接收附加责任的对象。客户端可以方便调用装饰类和被装饰类…

jsch ssh liunx秘钥交换失败

报错的堆栈信息 java.io.IOException: Key exchange was not finished, connection is closed.at ch.ethz.ssh2.transport.KexManager.getOrWaitForConnectionInfo(KexManager.java:75)at ch.ethz.ssh2.transport.TransportManager.getConnectionInfo(TransportManager.java:1…

关于希尔排序的理解

今天复习希尔排序的时候&#xff0c;对希尔排序有了新的理解 首先希尔排序是什么&#xff1a;希尔排序&#xff08;Shell Sort&#xff09;是一种基于插入排序的排序算法&#xff0c;又称缩小增量排序&#xff08;Diminishing Increment Sort&#xff09;&#xff0c;是直接插…

结构体指针

结构体指针 作用&#xff1a;通过指针访问结构体中的成员。 利用操作符->可以通过结构体指针访问结构体属性。 struct student() {string name;int age;int score; } int main() {student s {"张三",18,100};struct *p &s;cout << "姓名&…