【日记】12.19

12.19

DP

  1. P1091:找出最高的合唱队形。

思路:dp1[i]表示以i为最后一个人,1-i中的LIS,dp2[i]表示以i为第一个人,i-n中的LDS。dp1从前往后跑,dp2从后往前跑。注意一下,不是从前往后的LDS。

#include<bits/stdc++.h>
using namespace std;
const int M=140;
int a[M],n,ans[M];
struct LIS{
    int dp[M],d[M];
    void run(){
        int len=0;
        for(int i=1;i<=n;++i){
            int p=lower_bound(d+1,d+len+1,a[i])-d;//找到第一个大于等于a[i]的下标
            dp[i]=p,d[p]=a[i];
            if (p>len)
                len=p;
        }
    }
}L1;
struct LDS{
    int dp[M],d[M];
    void run(){
        int len=0;
        for(int i=n;i>=1;--i){
            int p=lower_bound(d+1,d+len+1,a[i])-d;//找到第一个大于等于a[i]的下标
            dp[i]=p,d[p]=a[i];
            if (p>len)
                len=p;
        }
    }
}L2;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
        scanf("%d",&a[i]);
    L1.run(),L2.run();
    int ans=0;
    for(int i=1;i<=n;++i)
        ans=max(ans,L1.dp[i]+L2.dp[i]-1);
    printf("%d\n",n-ans);
    return 0;
}

原文地址:https://www.cnblogs.com/diorvh/p/12074581.html

时间: 2024-08-30 18:35:28

【日记】12.19的相关文章

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

TCL 中upvar 用法 (摘自http://www.cnblogs.com/kane1990/archive/2011/12/19/2293981.html)

可以用 upvar 命令模拟传引用调用的行为,这对数组特别有用.如果a是一个数组,就不能像myproc $a这样把它传给过程myproc,因为并没有 对应整个数组的值:只有对应各个数组元素的值. 但是可以把数组名传给过程,myproc a,然后使用upvar命令在过程中访问数组的元素. 下面是在过程中使用upvar的简单示例,输出一个数组的内容: proc printArray {name} { upvar $name a foreach el [ lsort [ array names a]]

2017.12.19 2周2次课

2017.12.19二周第二次课 2.10 环境变量PATH echo用来输出PATH的值.PATH前面的$是变量的前缀符号 1.你的命令在上述几个目录里面,在输入命令时就不用输入绝对路径,直接使用.因为在输入命令时,系统会在上述的几个目录里去寻找这个命令.当然也可以输入绝对路径 Copy命令[ls]到目录tmp下,并改名[ls2],二者实现的功能一样 直接输入命令[ls2],确不行.因为命令[ls2]不在"/usr/local/sbin:/usr/local/bin:/usr/sbin:/us

12.19&amp;12.20 -基础命令练习二

12.19&12.20 基础命令练习二 第1章 Linux开机启动过程 linux启动过程 1.开启开关 2.bios开机自检 3.mbr引导 4.grub菜单 选择内核 5.加载内核 6.启动init进程  init进程是linux启动的时候运行的第一个进程 7.从/etc/inittab读取运行级别 8.根据/etc/rc.d/rc.sysinit 初始化系统 (设置主机名 ip地址) 9.根据运行级别启动对应的软件(开机自启动软件) 10.运行mingetty 显示登录界面 第2章 PAT

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 N

12.17 Nginx负载均衡:12.18 ssl原理:12.19 生产ssl密钥对:12.20 Nginx配置ssl 扩展: 针对请求的uri来代理 : http://ask.apelearn.com/question/1049 根据访问的目录来区分后端的web : http://ask.apelearn.com/question/920 nginx长连接 : http://www.apelearn.com/bbs/thread-6545-1-1.html nginx算法分析 : http:/

12.17Nginx负载均衡12.18ssl原理12.19生成ssl密钥对 20Nginx配置ssl

12.17Nginx负载均衡查看域名的IP,用dig命令首先安装 一下dig命令yum install -y bind-utils这时候就可以查看到qq.com的ipb 没有更改配置文件前只能访问默认页,更改配置文件之后,加载配置文件再访问curl x127.0.0.1:80 www.qq.com 就不一样了,进入主页了.只不过反馈回来的是网页的原码nginx不支持代理https,新版本 的也只支持http tcp12.18 ssl原理12.19 生成ssl密钥对需要安装 一个包,查看一个命令需

12.17 Nginx负载均衡 12.18 ssl原理 12.19 生成ssl密钥对 12.20 N

12.17 Nginx负载均衡 [[email protected] ~]# yum install -y bind-utils[[email protected] ~]# dig www.qq.comANSWER SECTION:www.qq.com. 73 IN A 59.37.96.63www.qq.com. 73 IN A 14.17.42.40www.qq.com. 73 IN A 14.17.32.211[[email protected] ~]# curl -x127.0.0.1:

小白日记12:kali渗透测试之服务扫描(二)-SMB扫描

SMB扫描 Server Message Block 协议.与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分哪些概念和功能应该属于Windows操作系统本身,哪些概念应该属于SMB 协议.因为该协议很复杂,所以是微软历史上出现安全问题最多的协议. 1.Nmap 最简单的方法:扫描其固定开放的端口139,445,但是无法准确判断其为windows系统 [email protected]:~# <strong

C++Primer 5th 练习 12.19

这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C++的编程规范. 敲了C++Primer 5th 上的一道典型的练习题,纪念一下这即将过去的2016. 题目描述: 定义你自己版本的 StrBlobPtr, 更新 StrBlob类, 加入恰当的 friend 声明及begin 和 end 成员. 这道题目主要是练习 智能指针 share_ptr 和