首先这肯定是一道LIS的变形,这次求的是方案,还要求字典序最小

(注意这个字典序最小是指下标最小而不是数最小)

首先预处理以每个数为首,能组成多长的上升序列(这里我们用单调队列解决)

然后按照位置顺序扫一遍顺出可行即可

要注意每行末的空格

 var f,a,q:array[..] of longint;
    n,k,i,x,j,t,l,r,m:longint;
begin
  readln(n);
  for i:= to n do
    read(a[i]);
  a[]:=;
  for i:=n downto do
  begin
    if (a[q[t]]>a[i]) then
    begin
      inc(t);
      q[t]:=i;
      f[i]:=t;
    end
    else begin
      l:=;
      r:=t;
      while l<=r do
      begin
        m:=(l+r) shr ;
        if (a[q[m]]<=a[i]) and (a[q[m-]]>a[i]) then break;
        if (a[q[m]]<=a[i]) then r:=m- else l:=m+;
      end;
      f[i]:=f[q[m]];
      q[m]:=i;
    end;
  end;
  readln(k);
  for i:= to k do
  begin
    readln(x);
    j:=;
    t:=-;
    while (j<=n) and (x>) do
    begin
      if (f[j]>=x) and (a[j]>t) then
      begin
        write(a[j]);
        if x<> then write(' ');
        dec(x);
        t:=a[j];
      end;
      inc(j);
    end;
    if x> then writeln('Impossible')
    else writeln;
  end;
end.

bzoj1046的更多相关文章

  1. 【bzoj1046】 HAOI2007—上升序列

    http://www.lydsy.com/JudgeOnline/problem.php?id=1046 (题目链接) 题意 给出一个数列,求数列中长度为L的下标字典序最小的上升子序列. Soluti ...

  2. 【bzoj1046】上升序列

    [bzoj1046]上升序列 题意 对于一个给定的S={a1,a2,a3,-,an},若有P={ax1,ax2,ax3,-,axm},满足(x1 < x2 < - < xm)且( a ...

  3. 【BZOJ1046】[HAOI2007]上升序列

    [BZOJ1046][HAOI2007]上升序列 题面 bzoj 洛谷 题解 \(dp\)完之后随便搞一下即可,注意不要看错题 代码 #include <iostream> #includ ...

  4. 【BZOJ1046】上升序列(动态规划,贪心)

    [BZOJ1046]上升序列(动态规划,贪心) 题面 BZOJ 洛谷 题解 我一开始看错题了,一度以为是字典序最小的序列. 最后发现它要求的字典序是位置的字典序最小. 那就很好办了. 设\(f[i]\ ...

  5. 【BZOJ-1046】上升序列 DP + 贪心

    1046: [HAOI2007]上升序列 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3723  Solved: 1271[Submit][Stat ...

  6. BZOJ1046 [HAOI2007]上升序列

    Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ...

  7. 2014.8.15模拟赛【公主的工作】&&bzoj1046[HAOI2007]上升序列

    bzoj题目是这样的 Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm ...

  8. [BZOJ1046] [HAOI2007] 上升序列 (dp)

    Description 对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1 < x2 < … < xm)且( ax1 < ...

  9. 刷题向》一道逆向思维题(BZOJ1046)(NORMAL)

    这道题对于一类题都有一个通用思路:反向递减序列即为正向字典序. 对于逆向思维的题还要多做才能培养这种对于逆向思维的感觉. 想到这种方法之后,就很简单了. 因为n×m不会炸,所以反向LIS叠一个贪心就能 ...

随机推荐

  1. OpenCV(3)-图像resize

    在图像处理过程中,有时需要把图像调整到同样大小,便于处理,这时需要用到图像resize() 原函数 void resize(InputArray src, OutputArray dst, Size ...

  2. python 自动化之路 day 09 进程、线程、协程篇

    本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

  3. 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(三)

    jar包完成后,剩下就是要构建ANE包来供实际程序调用. 首先要建两个Flex库项目, default那个是官方建议加上的,仅用于不在真实环境下编译调试的时候有个默认接口不至于调用不成功报错,项目结构 ...

  4. Qt-获取主机网络信息之QNetworkAddressEntry

    QNetworkAddressEntry类存储了一个网络接口所支持的一个IP地址,同时还有与之相关的子网掩码和广播地址. 每个网络接口可以包含0个或多个IP地址,这些IP地址可以分别关联一个子网掩码和 ...

  5. Oracle 自连接 / 外连接 / 子查询

    --连接查询的三种格式 select ename, deptno,dname from emp natural join dept; select ename, deptno,dname from e ...

  6. A-frame_02

    A-Frame 让我们能够仅仅通过几行HTML代码创建出可以运行在桌面, 虚拟眼镜, 以及手机上的VR场景. 而且因为这个框架是基于HTML的, 我们也可以像一般的HTML元素一样配合JavaScri ...

  7. 微信公众号-5秒内不回复测试并处理方案,顺便复习php 时间执行

    在index.php中 file_put_contents('has_request.txt','请求时间:'.date('YmdHis')."\n",FILE_APPEND); ...

  8. 过滤部分错误信息,不输出到stderr

    cmd 2>/tmp/stderr.log cat /tmp/stderr.log | grep -v “要过滤信息的关键字” >&2 rm /tmp/stderr.log

  9. TIBCO ActiveMatrix BPM 生成daa包脚本

    Ant 配置: <?xml version="1.0" encoding="UTF-8" ?> <project name="pro ...

  10. uCGUI窗口的创建过程分析

    一.相关结构体和变量 窗口管理结构体 /* 窗口管理结构体 共30个字节 */ struct WM_Obj { GUI_RECT Rect; //窗口尺寸(x0,y0,x1,y1) 8个字节 GUI_ ...