P2215 [HAOI2007]上升序列

    • 361通过
    • 1K提交
  • 题目提供者
  • 评测方式 云端评测
  • 标签 动态规划,动规,dp 贪心 递推 各省省选 2007 河南 高性能
  • 难度 提高+/省选-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目描述

    对于一个给定的 $S=\{a_1,a_2,a_3,…,a_n\}$ ,若有 $P=\{a_{x_1},a_{x_2},a_{x_3},…,a_{x_m}\}$ ,满足 $(x_1<x_2<…<x_m)$ 且 $(a_{x_1}<a_{x_2}<…<a_{x_m})$ 。那么就称P为S的一个上升序列。如果有多个P满足条件,那么我们想求字典序最小的那个。

    任务

    给出 $S$ 序列,给出若干询问。对于第 $i$ 个询问,求出长度为 $L_i$ 的上升序列,如有多个,求出字典序最小的那个(即首先 $x_1$ 最小,如果不唯一,再看 $x_2$ 最小……),如果不存在长度为 $L_i$ 的上升序列,则打印Impossible.

    输入输出格式

    输入格式:

    第一行一个 $N$ ,表示序列一共有 $N$ 个元素

    第二行 $N$ 个数,为 $a_1, a_2 , \cdots , a_n$

    第三行一个 $M$ ,表示询问次数。下面接 $M$ 行每行一个数 $L$ ,表示要询问长度为 $L$ 的上升序列。

    输出格式:

    对于每个询问,如果对应的序列存在,则输出,否则打印Impossible.

    输入输出样例

    输入样例#1: 复制
    6
    3 4 1 2 3 6
    3
    6
    4
    5
    
    输出样例#1: 复制
    Impossible
    1 2 3 6
    Impossible
    

    说明

    数据范围

    $N \le 10000$

    $M \le 1000$

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。