首页 > 其他分享 >P1020 [NOIP1999 提高组] 导弹拦截

P1020 [NOIP1999 提高组] 导弹拦截

时间:2024-10-17 13:09:54浏览次数:1  
标签:index len2 int 个数 ++ P1020 NOIP1999 拦截 include

题意:求出一个最长单调不增子序列和最少的个数的单调不加的子序列的个数。
根据dilworth:最少的全集个数等于最大的反链的元素个数。
可以将求最少的个数的单调不加的子序列的个数转化为求最长上升子序列的长度。
于是用二分+贪心来写

点击查看代码
#include <iostream>
#include <stack>
#include <cmath>
#include <algorithm>
#include <set>
#include <vector>
#include <climits>
#include <string.h>
#include <map>
#include <queue>
#include <list>
#include <cmath>
#include <iomanip> 
#define int long long 
#define ios ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define lc u<<1
#define rc u<<1|1
#define gcd __gcd
#define double long double
#define endl "\n"
#define INF LLONG_MAX
#define mod  1000000007
#define N 100005
const double PI = 3.14159265358979323846;
using namespace std;
int a[N], b[N], c[N], n, len1, len2, x;
signed main()
{
    ios;
    while (cin >> x)a[n++] = x;
    b[0] = a[0]; c[0] = a[0];
    for (int i = 1; i < n; i++)
    {
        if (b[len1] >= a[i])b[++len1] = a[i];
        else
        {
            int index = upper_bound(b , b + len1+1, a[i], greater<int>()) - b;
            b[index] = a[i];
        }
        if (a[i] > c[len2])c[++len2] = a[i];
        else
        {
            int index = lower_bound(c,c + len2+1, a[i]) - c;
            c[index] = a[i];
        }
    }
    cout << len1 + 1 << endl << len2 + 1 << endl;
    return 0;
}

标签:index,len2,int,个数,++,P1020,NOIP1999,拦截,include
From: https://www.cnblogs.com/youyong1/p/18471920

相关文章

  • C++ [NOIP1999 提高组] 邮票面值设计 详解
    C++[NOIP1999提高组]邮票面值设计详解题目背景题目描述输入格式输出格式样例#1样例输入#1样例输出#1完整代码(你们最想要的):[NOIP1999提高组]邮票面值设计题目背景除直接打表外,本题不保证存在正确且时间复杂度可以通过全部数据做法。由于测试数据过水,部......
  • Go语言中http.Transport的RoundTrip方法请求过滤与拦截技巧与应用
    go语言中http.transport的请求过滤与拦截技巧与应用1.引言在Go语言的http包中,http.Transport作为底层的HTTP传输层实现,提供了强大的功能,可以用于发起HTTP请求。本文将重点介绍如何使用http.Transport实现请求过滤和拦截的技巧及其应用。2.请求过滤2.1过滤请求方法我们可以使用h......
  • 深入了解 Java 拦截器与过滤器
    在构建JavaWeb应用程序时,拦截器(Interceptor) 和 过滤器(Filter) 是两个重要的概念。它们在不同阶段拦截和处理HTTP请求和响应,帮助开发者对应用的处理流程进行更精细的控制。虽然它们在表面上看似相似,但拦截器和过滤器有着不同的架构设计和使用场景。本文将详细介绍它们的......
  • 导弹拦截
    题目\(\\\)某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所......
  • 过滤器拦截器拦截了request后,controller的@RequestBody 无法获取request内容,报错 Requ
    SpringMVC的拦截器、过滤器、Controller之间的关系 众所周知所有的post请求中的body参数是已流形式存在的,而流数据只能读取一次(为啥看这里),如果在拦截器和过滤器中需要对post参数进行处理的话,就会报Requiredrequestbodyismissing异常。既然知道原因,那只要能将流保存起来......
  • 过滤器和拦截器的区别是什么?
    首先,过滤器和拦截器都可以在请求的过程中插入一手,也可以进行拦腰截断。请求过程:当一个请求进来,先交给Web服务器提供的过滤器,来到Servlet,同时会有一个叫做DispatcherServlet的Servlet进行执行,在DispatcherServlet中就会调用我们的拦截器,再由DispatcherServlet分发给对应的Contro......
  • Spring 过滤器 拦截器 监听器 Aop
    目录Spring过滤器拦截器监听器Aop1.过滤器2.拦截器3.监听器4.Aop5.参考文档Spring过滤器拦截器监听器Aop1.过滤器1.简介 过滤器Filter用于对数据进行过滤和预处理 过滤器只能在请求前后使用 依赖于servlet容器基于函数回调实现其生命周期由servlet容器管......
  • springboot如何做token的拦截校验
    1、新建一个拦截类@ComponentpublicclassLoginInterceptorimplementsHandlerInterceptor{@AutowiredprivateJwtUtiljwtUtil;@Value("${oaTokenKeyword}")privateStringoaTokenKeyword;@OverridepublicbooleanpreHandle(Http......
  • 【Spring Security OAuth2】- 【使用Spring MVC开发RESTful API】 使用切片拦截rest服
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • 拦截器实现拦截到人员的id
    WebConfig.WebConfig(配置拦截器)@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{@BeanpublicCrewInterceptorcrewInterceptor(){returnnewCrewInterceptor();}/*@AutowiredprivateCrewInterceptorcrewInterc......