51NOD 1127 最短的包含字串 尺取法

2021-07-23 05:29:14 字數 1132 閱讀 9903

1127 最短的包含字串

基準時間限制:1 秒 空間限制:131072 kb 分值:

20 難度:3級演算法題

收藏關注

給出乙個字串,求該字串的乙個子串s,s包含a-z中的全部字母,並且s是所有符合條件的子串中最短的,輸出s的長度。如果給出的字串中並不包括a-z中的全部字母,則輸出no solution。

input

第1行,1個字串。字串的長度 <= 100000。

output

輸出包含a-z的最短子串長度。如果沒有符合條件的子串,則輸出no solution。

input示例

bvcabcdeffghijklmmnopqrstuvwxzyzz

output示例

28

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//#include

using

namespace

std;

#define ll long long

#define ull unsigned long long

#define pii pair

#define inf 1000000007

char s[100000+5];

int counter[26];

int alp=0;

void addi(int&i)

void addj(int&j)

int main()

else

if(j1)

addj(j);

}if(ans==inf)

cout

<<"no solution"

cout

0;}

51NOD 1127 最短的包含字串

傳送門 給出乙個字串,求該字串的乙個子串s,s包含a z中的全部字母,並且s是所有符合條件的子串中最短的,輸出s的長度。如果給出的字串中並不包括a z中的全部字母,則輸出no solution。input 第1行,1個字串。字串的長度 100000。output 輸出包含a z的最短子串長度。如果沒...

51nod1127 最短的包含字串

給出乙個字串,求該字串的乙個子串s,s包含a z中的全部字母,並且s是所有符合條件的子串中最短的,輸出s的長度。如果給出的字串中並不包括a z中的全部字母,則輸出no solution。收起第1行,1個字串。字串的長度 100000。輸出包含a z的最短子串s的長度。如果沒有符合條件的子串,則輸出n...

51Nod1127 最短的包含字串

給出乙個字串,求該字串的乙個子串s,s包含a z中的全部字母,並且s是所有符合條件的子串中最短的,輸出s的長度。如果給出的字串中並不包括a z中的全部字母,則輸出no solution。二分。include include include include include include includ...