P8736 [蓝桥杯 2020 国 B] 游园安排
题目描述
L \mathrm{L} L 星球游乐园非常有趣,吸引着各个星球的游客前来游玩。小蓝是 L \mathrm{L} L 星球 游乐园的管理员。
为了更好的管理游乐园,游乐园要求所有的游客提前预约,小蓝能看到系统上所有预约游客的名字。每个游客的名字由一个大写英文字母开始,后面跟 0 0 0 个或多个小写英文字母。游客可能重名。
小蓝特别喜欢递增的事物。今天,他决定在所有预约的游客中,选择一部分游客在上午游玩,其他的游客都在下午游玩,在上午游玩的游客要求按照预约的顺序排列后,名字是单调递增的,即排在前面的名字严格小于排在后面的名字。
一个名字 A A A 小于另一个名字 B B B 是指:存在一个整数 i i i,使得 A A A 的前 i i i 个字母与 B B B 的前 i i i 个字母相同,且 A A A 的第 i + 1 i+1 i+1 个字母小于 B B B 的第 i + 1 i+1 i+1 个字母。(如果 A A A 不存在第 i + 1 i+1 i+1 个字母且 B B B 存在第 i + 1 i+1 i+1 个字母, 也视为 A A A 的第 i + 1 i+1 i+1 个字母小于 B B B 的第 i + 1 i+1 i+1 个字母)
作为小蓝的助手,你要按照小蓝的想法安排游客,同时你又希望上午有尽量多的游客游玩,请告诉小蓝让哪些游客上午游玩。如果方案有多种,请输出上午游玩的第一个游客名字最小的方案。如果此时还有多种方案,请输出第一个游客名字最小的前提下第二个游客名字最小的方案。如果仍然有多种,依此类推选择第三个、第四个……游客名字最小的方案。
输入格式
输入包含一个字符串,按预约的顺序给出所有游客的名字,相邻的游客名字之间没有字符分隔。
输出格式
按预约顺序输出上午游玩的游客名单,中间不加任何分隔字符。
样例 #1
样例输入 #1
WoAiLanQiaobei
样例输出 #1
AiLanQiaobei
提示
对于 20 % 20 \% 20% 的评测数据, 输入的总长度不超过 20 20 20 个字母。
对于 50 % 50 \% 50% 的评测数据, 输入的总长度不超过 300 300 300 个字母。
对于 70 % 70 \% 70% 的评测数据, 输入的总长度不超过 10000 10000 10000 个字母。
对于所有评测数据, 每个名字的长度不超过 10 10 10 个字母, 输入的总长度不超过 1 0 6 10^6 106 个字母。
蓝桥杯 2020 年国赛 B 组 G 题。
题目解读
求一些字符串的LIS(最长上升子序列)
算法分析
先按题目给出的,大写字母开头的子串是人名,把字符串分割成若干个子串,每串是由大写字母开头的,中间没有其他大写字母。
然后用 DP 大法算出 LIS 长度
由于数据大,要有二分优化(不然等着 TLE吧)
用 lower_bound 函数优化每一次更新
连我这种蒟蒻都会的 DP
这就完美的 AC 了
虽然题目说用字典树(Trie),但完全不需要
#include<bits/stdc++.h>
using namespace std;
string s,a[1000010],dp[1000010],f[1000010];
int n=0,maxl=0,t=0;
int main()
{ios::sync_with_stdio(false); //优化cincout(其实没必要)cin>>s;int p=s.size();for(int i=0;i<p;i++) //拆解成若干个子串 {if(s[i]<'a') {a[++n]=s[i];}else {a[n]+=s[i];}}for(int i=1;i<=n;i++) //DP{t=lower_bound(dp+1,dp+maxl+1,a[i])-dp;maxl=max(maxl,t);dp[t]=a[i];f[t]=f[t-1]+a[i];}cout<<f[maxl];return 0; //完结撒花
}
最近甲流,写不了代码,这是最后一篇存货
下一次更新估计要等下次 周五
相关文章:
P8736 [蓝桥杯 2020 国 B] 游园安排
题目描述 L \mathrm{L} L 星球游乐园非常有趣,吸引着各个星球的游客前来游玩。小蓝是 L \mathrm{L} L 星球 游乐园的管理员。 为了更好的管理游乐园,游乐园要求所有的游客提前预约,小蓝能看到系统上所有预约游客的名字。每个游客的名字由一…...
初识Docker-什么是docker
Docker是一个快速交付应用、运行应用的技术 目录 一、Docker 二、运用场景 一、什么是Docker?它的作用是什么? Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题? Docker允许开发中将应用、依赖、函数库、配置一起打包&…...
maven的pom.xml设置本地仓库
配置 在Maven项目中,您可以在pom.xml文件中配置本地仓库的路径。在pom.xml文件中,您可以添加以下配置来指定本地仓库的路径: <project>...<repositories><repository><id>local-repo</id><url>file://…...
Qt获取屏幕DPI缩放比
获取屏幕缩放比 网上很多代码是用 logicalDotsPerInch 除以 96 来获取屏幕缩放比: // Windows 除以 96,macOS 除以 72 qreal factor window->screen()->logicalDotsPerInch() / 96.0; 当使能了缩放适配后,logicalDotsPerInch 值就不…...
Spring MVC控制层框架
三、Spring MVC控制层框架 目录 一、SpringMVC简介和体验 1. 介绍2. 主要作用3. 核心组件和调用流程理解4. 快速体验 二、SpringMVC接收数据 1. 访问路径设置2. 接收参数(重点) 2.1 param 和 json参数比较2.2 param参数接收2.3 路径 参数接收2.4 json参…...
vmware安装银河麒麟V10高级服务器操作系统
vmware安装银河麒麟V10高级服务器操作系统 1、下载银河麒麟V10镜像2、VMware安装银河麒麟V10高级服务器操作系统2.1、新建虚拟机2.2、安装虚拟机 3、配置银河麒麟V10高级服务器操作系统3.1、安装vmware tools3.2、配置静态IP地址 和 dns3.3、查看磁盘分区3.4、查看系统版本 1、…...
掌握Jenknis基础概念
目录 任务(Jobs) 构建(Builds) 触发器(Triggers) 构建环境(Build Environment): 插件(Plugins): 参数化构建(Paramet…...
AWS 知识二:AWS同一个VPC下的ubuntu实例通过ldapsearch命令查询目录用户信息
前言: 前提:需要完成我的AWS 知识一创建一个成功运行的目录。 主要两个重要:1.本地windows如何通过SSH的方式连接到Ubuntu实例 2.ldapsearch命令的构成 一 ,启动一个新的Ubuntu实例 1.创建一个ubuntu实例 具体创建实例步骤我就不…...
Ubuntu 常用命令之 fdisk 命令用法介绍
📑Linux/Ubuntu 常用命令归类整理 fdisk 是一个用于处理磁盘分区的命令行工具,它在 Linux 系统中广泛使用。fdisk 命令可以创建、删除、更改、复制和显示硬盘分区,以及更改硬盘的分区 ID。 fdisk 命令的常用参数如下 -l:列出所…...
论文中公式怎么降重 papergpt
大家好,今天来聊聊论文中公式怎么降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文中公式怎么降重 一、引言 在论文撰写过程中,公式是表达学…...
27. 过滤器
Filter(过滤器)简介 Filter 的基本功能是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应处理的前后实现一些特殊的功能。在 Servlet API 中定义了三个接口类来开供开发人员编写 Filter 程序:Filter, FilterChain, FilterConfigFi…...
做一个wiki页面是体验HTML语义的好方法
HTML语义:如何运用语义类标签来呈现Wiki网页 在上一篇文章中,我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景。那么,哪些场景适合用到语义类标签呢,又如何运用语义类标签呢? 不知道你还记不记得在大…...
金融CRM有用吗?金融行业CRM有哪些功能
市场形式波诡云谲,金融行业也面临着资源体系分散、竞争力后继不足、未知风险无法规避等问题。金融企业该如何解决这些问题,或许可以了解一下CRM管理系统,和其提供的金融行业CRM解决方案。 金融行业是银行业、保险业、信托业、证券业和租赁业…...
@XmlAccessorType+@XmlElement完美解决Java类到XML映射问题
前言: 最近项目在做静态代码扫描的时候,出现Java类中成员变量命名的问题,开头字母必须小写,但是这个类成员是对接其他公司的字段,对方提供的请求格式是XML,必须将Java类转化为XML的格式,而且这…...
软件渗透测试有哪些测试流程?权威安全测试报告的重要性
软件渗透测试也是安全测试的一种,是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。 一、软件渗透测试的过程 软件渗透测试的过程通常包括四个主…...
安防视频融合云平台/智慧监控平台EasyCVR如何添加验证码调用接口?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
浏览器输入一个url,它的解析过程
URL解析: 浏览器首先解析URL,提取其中的协议(例如,HTTP、HTTPS)、域名和路径等信息。这个过程被称为URL解析。 DNS解析: 浏览器会检查域名的IP地址是否已经缓存。如果没有缓存或者缓存已经过期,…...
第29节: Vue3 列表渲染
在UniApp中使用Vue3框架时,你可以使用列表渲染语法来动态地渲染一个列表。下面是一个示例,演示了如何在UniApp中使用Vue3框架使用列表渲染: <template> <view> <button click"addItem">Add Item</button&g…...
CloudPulse:一款针对AWS云环境的SSL证书搜索与分析引擎
关于CloudPulse CloudPulse是一款针对AWS云环境的SSL证书搜索与分析引擎,广大研究人员可以使用该工具简化并增强针对SSL证书数据的检索和分析过程。 在网络侦查阶段,我们往往需要收集与目标相关的信息,并为目标创建一个专用文档,…...
【网络安全】学习Web安全必须知道的一本书
【文末送书】今天推荐一本网络安全领域优质书籍。 目录 正文实战案例1:使用Docker搭建LAMP环境实战案例2:使用Docker搭建LAMP环境文末送书 正文 学习Web安全离不开Web,那么,需要先来学习网站的搭建。搭建网站是每一个Web安全学习…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
timestamp时间戳转换工具
作为一名程序员,一款高效的 在线转换工具 (在线时间戳转换 计算器 字节单位转换 json格式化)必不可少!https://jsons.top 排查问题时非常痛的点: 经常在秒级、毫秒级、字符串格式的时间单位来回转换,于是决定手撸一个…...
