L: Long Long Ago---二分
2024-09-02 20:57:12
L: Long Long Ago
时间限制: 1 s 内存限制: 128 MB
题目描述
今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序列L
组织的间谍活动如下几个线索:
这个算法不会改变秘密消息的字符顺序,但是会两个字符之间在中间加入未知个数的字符
如原信息
ab
可能的加密结果
ammmxxxxb
现在你有n个待选关键字
如果这个关键字可能是秘密消息输出Yes,否则输出No
如ammmmxxxxb
可能包含的关键字有
ab
mb
mxb
......
输入
第一行输入一串字符串L
(1≤L≤105)
第二行输入一个整数N,表示查找字符串的个数。(1≤N≤105)
接下来N行表示,输入一行字符串M
n个字符的长度之和为[1,100000]
输出
输出N
行,如果是符合提议就输出Yes,否则输出No
样例输入
noiauwfaurainairtqltqlmomomo
8
rain
air
tql
ntt
xiaobai
oiiiooo
orzcnzcnznb
ooooo
样例输出
Yes
Yes
Yes
Yes
No
Yes
No
No
#include<iostream>
#include<math.h>
#include<string.h>
#include<vector>
#define ll long long
using namespace std;
vector<ll>p[];//开个二维的动态数组
char s[],ss[];
ll find2(ll target, ll k)
{
if (p[target].size() == )
return -;
else
{
ll l = , r = p[target].size() - , mid;
while (l <= r)
{
mid = l + ((r - l) >> );
if (p[target][mid] > k)//p[target][mid]=target在s数组的下标
r = mid - ;
else
l = mid + ;
}
if (l <= p[target].size()-)
return p[target][l];
else
return -;
}
}
int main()
{
ll n;
scanf("%s", s);
for (int i = ;s[i]; i++)//如果用i<strlen(s)会超时
p[s[i] - 'a'].push_back(i);
scanf("%lld", &n);
while (n--)
{
scanf("%s", ss);
ll k = -, flag = ;
for (int i = ; ss[i]; i++)
{
k=find2(ss[i] - 'a', k);//k是上一次查找返回的位置,初始化为-1
if (k == -)
{
flag = ;
break;
}
}
if (flag == )
printf("Yes\n");
else
printf("No\n");
}
//system("pause");
return ;
}
超时的strlen、sqrt https://blog.csdn.net/xxiaobaib/article/details/78228547
最新文章
- Stop Googling!
- Android 学习笔记
- URL传值特殊字符处理
- 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。
- Android应用加入微信分享
- tomcat上servlet程序的配置与处理servlet请求过程
- 资源回收 left
- NET MVC权限验证
- Python爬虫框架Scrapy安装使用步骤
- Reverse Words in a String leetcode
- LAMP与LNMP架构的区别及其具体的选择说明
- Alpha第十天
- Android通过编译源代码提供系统服务-android学习之旅(85)
- 无需认证的mail,适用于ZABBIX等运维系统
- 在centos7 部署bbr
- C#基础:委托之Action<;T>;和Func<;T>;的用法
- URL参数编码
- 李白打酒——C++
- /etc/my.cnf
- 关于tomcat不同版本的maxPostSize
热门文章
- Mybatis之Configuration初始化(配置文件.xml的解析)
- mvc api odata查询选项之 $inlinecount $format 选项(转)
- curl工具
- ZOJ3696 Alien&#39;s Organ 2017-04-06 23:16 51人阅读 评论(0) 收藏
- shell 脚本 随机抽取班上学生
- 网站图标ICO
- 对象初始化的完整过程(C#)
- sharepoint site performance
- Amazon新一代云端关系数据库Aurora(下)
- Cookie的创建与删除