这道题可以贪心 维护一个答案队列 枚举位置 每次将比当前位置大的队尾全部替代掉 记录删了多少了就好了

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<string>
#define LL long long
using namespace std;
const int M=1e7+;
int n,k,cnt;
char s[M],q[M];
int main()
{
freopen("del.in","r",stdin);
freopen("del.out","w",stdout);
scanf("%s",s+);
n=strlen(s+); scanf("%d",&k);
int v=n-k;
q[++cnt]=s[];
for(int i=;i<=n;i++){
while(cnt&&q[cnt]>s[i]&&v) cnt--,v--;
q[++cnt]=s[i];
}
for(int i=;i<=k;i++) printf("%c",q[i]); printf("\n");
return ;
}

当然 序列自动机比较明显 但是会慢很多

#include<cstdio>
#include<cstring>
const int M=;
int n,k,c[M][],deep[M];
char s[M];
void maxs(int& x,int y){if(x<y) x=y;}
int main(){
freopen("del.in","r",stdin);
freopen("del.out","w",stdout);
scanf("%s",s+);
n=strlen(s+);
scanf("%d",&k);
for(int i=;i<=n;i++){
int now=s[i]-'a';
for(int j=i;j&&!c[j][now];c[j--][now]=i+);
}
for(int i=n;i>=;i--){
for(int j=;j<;j++){
int v=c[i][j];
if(v) maxs(deep[i],deep[v]+);
}
}
int now=;
for(int l=k;l;l--){
for(int j=;j<;j++){
int v=c[now][j];
if(v&&deep[v]>=l-){
now=v;
putchar('a'+j);
break;
}
}
}
return ;
}

汕头市队赛 SRM13 T3的更多相关文章

  1. 汕头市队赛SRM14 T3覆盖

    我们可以考虑两种情况 区间之间不相重叠 和 重叠 f[i][j]表示以当前最后一个区间以 i 结尾 并且选了 j 个区间 不相重叠的话 只要选 1-i-w 的max再加上 包含i在内的前四个数的和 相 ...

  2. 汕头市队赛 SRM13 T2

    这道题很容易想到是二分 但是因为可能会爆LL 所以要加一波特判 #include<cstdio> #include<cstring> #include<algorithm ...

  3. 汕头市队赛 SRM10 T3 数学上来先打表

    数学上来先打表 SRM 10 描述 给出 n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案:1.每条边连接两个不同的点,每两个点之间至多有一条边2.不存在三个点a,b,c使三个点间两两 ...

  4. 汕头市队赛 C KMP codeforces B. Image Preview

    汕头市队赛题目传送门 codeforces题目传送门 这道题我的做法是 尝试先往左走然后往右走 或者先往右走然后往左走 然后注意一下枚举顺序就okay啦 #include<cstdio> ...

  5. 汕头市队赛 C SRM 05 - YYL 杯 R1 T3!

    C SRM 05 - YYL 杯 R1 背景 tjmak 描述 给一个大小为n的序列V.序列里的元素有正有负.问至少要删除多少个元素使得序列里不存在区间(要求非空)和 >= S.如果答案大于m, ...

  6. 汕头市队赛SRM 20 T3 灵魂觉醒

    背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...

  7. 汕头市队赛SRM15

    T1——czl SRM 15 众所周知,czl家养了一只可♂爱的***(已屏蔽),那只东西很贪吃,所以czl家很多零食仓库,然而这些仓库里有很多老鼠. 为了心爱的***,czl决定点燃纯艾条,用烟熏老 ...

  8. 汕头市队赛 SRM16

    T3 C-2 SRM 16 描述 给一个数列,给出两种数字, 询问在多少个非空区间中这两种数字出现次数相同. 输入格式 第一行:一个数字n,q,n表示数列长度,q表示q组询问 第二行n个数字表示数列A ...

  9. 汕头市队赛 SRM 07 D 天才麻将少女kpm

    这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周叒打了n场麻将,但她这次又没控分,而且 ...

随机推荐

  1. C# WPF使一个窗口挡在最前面,且不处理此窗口就不能点击其他窗口

    模态框弹出就可以了.窗口用ShowDialog调用. 可以在子窗体里把WindowStartupLocation设置为CenterOwner, 让子窗体在MainWindow的中心位置显示

  2. C语言字符篇(三)字符串比较函数

    #include <string.h>   int strcmp(const char *s1, const char *s2); 比较字符串s1和s2 int strncmp(const ...

  3. Python locale 多语言模块和我遇到的坑

    Table of Contents 1. locale遇到的问题 1.1. locale 简介 1.1.1. 什么是locale 1.1.2. locale 相关命令 1.2. Python loca ...

  4. MySQL之查询性能优化(三)

    MySQL查询优化器的局限性 MySQL的万能“嵌套循环”并不是对每种查询都是最优的.不过还好,MySQL查询优化只对少部分查询不适用,而且我们往往可以通过改写查询让MySQL高效地完成工作. 关联子 ...

  5. laravel5.5门面

    Facades为应用程序的 服务容器 中可用的类提供了一个 静态接口 . 最直观的好处 就是需记住必须手动注入或配置的长长的类名.因此有人也理解Facades就是一个"快捷别名" ...

  6. Android学习笔记(一)之仿正点闹钟时间齿轮滑动的效果

    看到正点闹钟上的设置时间的滑动效果非常好看,自己就想做一个那样的,在网上就开始搜资料了,看到网上有的齿轮效果的代码非常多,也非常难懂,我就决定自己研究一下,现在我就把我的研究成果分享给大家.我研究的这 ...

  7. 指定user镜像安装的磁盘

    ironic node-update <node uuid> add properties/root_device='{"name":"/dev/sdb&qu ...

  8. heat模板

    Heat 目前支持两种格式的模板,一种是基于 JSON 格式的 CFN 模板:另外一种是基于 YAML 格式的 HOT 模板.CFN 模板主要是为了保持对 AWS 的兼容性.HOT 模板是 Heat ...

  9. 稀疏矩阵相乘-Python版

                                          稀疏矩阵相乘-Python版 Given two sparse matrices A and B, return the r ...

  10. Vue-cli 本地开发请求https 接口 DEPTH_ZERO_SELF_SIGNED_CERT

    环境:npm run dev 本地开发连接后台的开发环境的接口. 贴上proxyTable 的转发(代理?反向?这个具体叫什么不明白...) proxyTable: { "/api" ...