比赛的时候连题意都没看懂,雀氏菜。 题目 题意理解以后,就转换成了求一个字符串s中包含涵盖指定字母集的最短子串的长度的题。比如在abbcde中求abc的最短子串,abbc。 首先求出最小公倍数,然后通过输入的字符串求出字符串s。他是一个无限循环的字符串的循环节。 所以要求最短只要两个s拼接在一起,就转变成了上述问题。上述问题可以采用双指针解决。 l = 0,r = 0. r右移,直到合法。 l左移,直到不合法。 在过程中维护r-l的最小值即可。
代码
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i>n;
int tmp = -1;
for(int i=1;i>ss[i];
a[i] = ss[i].length();
for(int j=0;j
关注
打赏