(序列)(贪心)(LIS)(区间dp)最少拦截系统

简介: (序列)(贪心)(LIS)(区间dp)最少拦截系统

2023年4月2日

https://vjudge.csgrandeur.cn/contest/550913#problem/G
注意到网上没有什么贪心做法的证明,就发一篇出来

我的思路

没看出来是个dp,就想想贪心。
扫描数组,找到第一个没出现过的,设为最大值,cnt++,以其为起点,再一重循环往下扫描,比最
大值小的就标记,然后更新最大值,
n方复杂度,和dp差不多

卡壳点

一个是多组输入没有初始化,再就是在第二重的j指针扫描里,伪代码的描述有缺漏,应该要扫到比最大值小且没标记过的

贪心证明

主要要证明的就是拦截系统拦截第一个导弹能得到最优方案的问题
不需要考虑哪个拦截系统系统的高度亏损,高的拦截中的,中的拦截小的 ,和高的拦截小的,中的拦截中的最终结果都是得到一个中一个小的拦截系统,位置也是相同的,所以两种方案等价,
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1e3 + 10;
int a[N];
bool st[N];
int main(){
    int n;
    while(~scanf("%d",&n)){
        int cnt = 0;
        for(int i = 1;i <= n;i++){
            cin >> a[i];   
        }
        memset(st,0,sizeof st);
        for(int i = 1;i <= n;i++){
            int maxn ;
            if(!st[i]){
                maxn = a[i];
                cnt++;
                for(int j = i+1;j <= n;j++){
                    if(maxn >= a[j] && !st[j]) {st[j] = true,maxn = a[j];
                        // cout << a[j]<< endl;/
                    }
                }
            }
        }
        cout << cnt << endl;
    }
    return 0;
}
相关文章
|
存储 Oracle Java
Java11--ZGC--权衡--ZGC--GC术语--着色指针--多重映射--读屏障标记--重定位
Java11--ZGC--权衡--ZGC--GC术语--着色指针--多重映射--读屏障标记--重定位
204 0
|
8月前
|
Web App开发 SQL 前端开发
前端页面加载性能指标之LCP
本文介绍了 Largest Contentful Paint (LCP),一种衡量网页加载性能的指标,专注于视口内最大图片或文本块的完全渲染时间,旨在提升用户对主要内容加载速度的感知。文章还探讨了LCP的测量方法和优化策略,如图像优化、懒加载等,以帮助改善网页性能。
587 5
|
9月前
|
Docker 容器
|
11月前
|
算法 量子技术 vr&ar
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现
本文详细介绍了2023年第十三届MathorCup高校数学建模挑战赛A题的解题过程,包括量子计算机在信用评分卡组合优化中的应用,提供了详细的建模方案、QUBO模型的构建方法以及相应的代码实现。
289 3
【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现
|
10月前
|
负载均衡 5G UED
蜂窝网络中的切换(Handover)及其类型详解
蜂窝网络中的切换(Handover)及其类型详解
1035 12
|
11月前
|
关系型数据库 MySQL 数据库
在 MySQL 中使用 Alter Table
【8月更文挑战第11天】
1021 0
在 MySQL 中使用 Alter Table
|
12月前
|
SQL 缓存 监控
实时计算 Flink版产品使用问题之如何实现无状态启动
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Java 数据库连接 数据库
Springboot2.x整合mybatis多数据源(注解完整版,亲测成功)
并发量的不断增加,单个数据库承受不了这么大的压力,因此一个项目使用多个数据库也越来越重要,当然使用数据库的模式可能不一样,比如说主从模式、分布式模式。不管是哪种模式都是使用的多数据源。Springboot整合mybatis实现多数据源有两种方式:分包和AOP。这里使用的分包,因为层次更加清晰。
994 0
Springboot2.x整合mybatis多数据源(注解完整版,亲测成功)
【SPSS】基础图形的绘制(条形图、折线图、饼图、箱图)详细操作过程(下)
【SPSS】基础图形的绘制(条形图、折线图、饼图、箱图)详细操作过程
991 0
|
Java 数据库 数据安全/隐私保护
使用Spring Boot和JPA实现多数据源的方法
使用Spring Boot和JPA实现多数据源的方法
493 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问