汕头市队赛 SRM 06 A 撕书
A 撕书 SRM 06
背景&&描述
游行寺汀正在杀书。
书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s。
琉璃静静地在旁边看着。根据他对汀的了解,汀+1s只会撕一页。令表示第i秒撕的是哪一页,显然
是1..n的一个排列。
琉璃突然对s的一个非空子序列t产生了兴趣。他想知道,最多在汀撕多少页之后,t仍然是剩下的书的某个子序列。
输入格式
第一行一个字符串,表示s
第二行一个字符串,表示t
第三行n个整数(n为s的长度),表示。
输出格式
一个整数,表示最多在汀撕多少页之后,t仍然是剩下的书的某个子序列。
样例输入
sbkitssakitsak
kisaki
1 14 13 2 6 12 9 10 5 3 8 4 7 11
样例输出
6
数据范围与约定
- 对于100%的数据:
样例解释
6s后,剩下的书为kitsakit,此时kisaki还是书的子序列。第7s撕掉第二个k后就不是了。
查找最大最小的 我一般都会先考虑二分 果不其然这道题就是了 nlogn 完全可做
我们可以记录每个点的消失(也就是被撕)的时间
二分时间求每次是否能匹配就可以了 2333
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=2e5+;
char T[M],s[M];
int n,m,l,r,w[M];
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int check(int k){
int cnt=;
for(int i=;i<=n;i++){
if(w[i]<=k) continue;
if(T[i]==s[cnt]) cnt++;
if(cnt==m+) return ;
}
return ;
}
int main()
{
scanf("%s %s",T+,s+);
int k;
n=strlen(T+); m=strlen(s+);
for(int i=;i<=n;i++) k=read(),w[k]=i;
l=; r=n;
while(l<=r){
int mid=(l+r)>>;
if(check(mid)) l=mid+;
else r=mid-;
}
printf("%d\n",r);
return ;
}
汕头市队赛 SRM 06 A 撕书的更多相关文章
- 汕头市队赛 SRM 06 C 秀恩爱
C 秀恩爱 SRM 06 背景&&描述 KPM坐在直升机上俯瞰小渔村景象. 渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,s ...
- 汕头市队赛 SRM 06 B 起伏的排名
B 起伏的排名 SRM 06 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. 在上个星期她打了n场麻将,每场麻将都有n名玩家.KPM自然记得自己的n次排名. ...
- 汕头市队赛 SRM 09 C 撕书
C 撕书III-3 SRM 09 背景&&描述 琉璃双在撕书. 书总共有n页,每页都可以看作是一个数字. 琉璃读书喜欢来回地读.但他也因此发现了作者的灌水行为:有些连续 ...
- 汕头市队赛 SRM 09 B 撕书
B 撕书II-3 SRM 09 背景&&描述 琉璃手头有一黑一白两本魔法书,一本是<缟玛瑙的不在证明>,另一本是<白色相簿1.5> 传说同时打开这两本书 ...
- 汕头市队赛 SRM 09 A 撕书
A 撕书I-3 SRM 09 背景&&描述 琉璃在撕书. 书总共有n页,都悬浮在数轴上,第i页的位置为,上面写着一个数字. 琉璃从右往左撕书.假如看到了第i页,就把在第 ...
- 汕头市队赛 SRM 07 D 天才麻将少女kpm
这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周叒打了n场麻将,但她这次又没控分,而且 ...
- 汕头市队赛SRM 20 T2不净的圣杯
不净的圣杯 SRM 20 背景 作为一张BUG级别的卡,官方打算把它修改得人畜无害一些…… 虽然名字还没想好,但是能力大概是对敌方所有单位造成d点伤害,d为自己牌组中所有卡的编号的最大公约数.这无疑是 ...
- 汕头市队赛 SRM 07 B 好玩的麻将
B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列. 但她 ...
- 汕头市队赛 SRM 08 B
B-3 SRM 08 描述 给长度为 n 的数列 A 和长度为 m 的数列 B,问有多少长度为 m 的数列 C 满足 输入格式 第一行俩整数 n 和 m 第二行 n 个整数 ,表示数列 A 第三行 m ...
随机推荐
- Python3全栈学习目录
http://www.cnblogs.com/wupeiqi/articles/4938499.html 文辉整理: http://blog.51cto.com/9272317/1869914
- python 自动化-"Elements not visible"
一,今天试着跑一个多乘客下单的python脚本, 总是遇到 Elements not visible 或者 not clickable的错误 解决方法: 1. 首先观察脚本运行时, 报错的那个元素 ...
- 6.爬虫 requests库讲解 总结
requests库的总结: 用ProcessOn根据前面的几节内容做了个思维导图:
- C语言关于“输入包含多行数据,请处理到文件结束”的问题
今天,笔者在做本校ACM校赛网络赛的时候,遇到输入格式中有这样的要求:输入包含多行数据,请处理到文件结束.题目的逻辑很简单,主要功能代码很容易实现,但是题目中没有“明确”指出控制台中输入数据以什么方式 ...
- Jenkins的pipeline脚本中获取git代码变更用户名和email
// Get checkout output valuedef changeLogSets = checkout([$class: 'GitSCM', branches: [[name: '*/mas ...
- FetchType.LAZY 时属性加上@JsonIgnore,避免返回时报错:Could not write JSON: failed to lazily initialize a collection of role
[示例] @OneToMany(fetch=FetchType.LAZY) @JsonIgnore @Fetch(FetchMode.SELECT) @Cascade(value={CascadeTy ...
- ubuntu 和 centOS 的apache设置
更改ubuntu的网站访问根目录: 在sudo gedit /etc/apache2/sites-enabled/000-default,把 DocumentRoot /var/www #这 ...
- Java相关配置合集
Java环境变量配置: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\java\jdk1.6.0_08: 2.安装完成后,右击“我的电脑”,点击“属性”: 3.XP选 ...
- ui-grid下拉过滤
{ field: 'TDK', displayName: 'TDK缺失与否', cellTemplate: `<div class="ui-grid-cell-contents&quo ...
- 使用 TListView 控件(2)
本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...