博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 92C【二分】
阅读量:5113 次
发布时间:2019-06-13

本文共 503 字,大约阅读时间需要 1 分钟。

意:

求最少需要几个s1串拼接存在子串s2 (1≤|s1|≤1e4,1≤|s2|≤1e6).

思路(感谢ZQC):
每个字母的出现位置存个vector.
假设你当前已经用了A串的前x个字符,现在想要匹配一个'x',那你就在'x'的vector那里二分出第一个大于x的位置,
如果匹配不到的话,就相当于需要一个新的串。

#include 
using namespace std;typedef long long LL;vector
xs[30];char s1[10010],s2[1000010];map
mp; int main(){    int x,n,m,pos,ans,k;    vector
::iterator y;    scanf("%s%s",s1,s2);    n=strlen(s1);    for(int i=0;i

转载于:https://www.cnblogs.com/keyboarder-zsq/p/6777365.html

你可能感兴趣的文章
静态链表
查看>>
程序流程图画法复习
查看>>
if not用法
查看>>
xamarin.forms 主明细界面
查看>>
字符串的碎片整理。。。
查看>>
python pymysql安装
查看>>
再谈组合模式
查看>>
两分钟学会Android平台NDK编程(无须Eclipse和cygwin,可使用命令行打包多个so)
查看>>
QT布局
查看>>
Linux字符设备驱动
查看>>
移动端页面开发通用问题解决方案
查看>>
关于Python编程的一些问答
查看>>
第一次
查看>>
windows下ch340 usb转串口芯片的驱动从哪里下载?
查看>>
CodeForces - 732F Tourist Reform
查看>>
洛谷 P1852 [国家集训队] 跳跳棋
查看>>
[Lydsy1806月赛] 最长公共子序列
查看>>
hdu5443 The Water Problem(水)
查看>>
NYOJ469(动态规划)
查看>>
Ubuntu防火墙设置
查看>>