• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

题目链接

B. A Perfectly Balanced String?

给出一个字符串\(s\),对于\(s\)中出现过的任意两个字母\(u,v\),定义一个平衡的的字符串满足在任何一个子串中\(u\)和\(v\)的出现次数相差不超过1 .判断字符串是否满足平衡的条件。

解题思路

思维

满足条件的字符串一定是带有循环节的证明:扫描字符串,直到出现跟前面一样的字符,考虑后面的一个字符,如果这个字符不是两个相等字符中间的任意一个字符,则可取相等字符与该字符使其不满足要求,故该字符一定是位于相等字符中间的字符,如果该字符不是前面一个相等字符的后面一个字符,则可取当前字符前面一个相等字符的后面一个字符使其不满足要求,得证

时间复杂度:\(O(n)\)

模拟

题目等价于对于每一个字母,判断是否存在这样一个子串:子串不含该字母,且子串中存在出现两次及以上的字母。对于每个字母直接扫描一遍即可

时间复杂度:\(O(26n)\)

思维

//问题: B。一根完美平衡的弦?

//竞赛:代码强制-代码强制第785轮(Div .2)

//网址: https://codeforces.com/contest/1673/problem/B

//内存限制: 256 MB

//时间限制: 1000毫秒

//

//由大脑性麻痹编辑器(https://cpeditor.org)提供支持

//%%%Skyqwq

#包含位/标准数据h。

//#定义int long龙

#定义帮助{ CIN。平局(空);cout.tie(空);}

#定义按钮推回

#首先定义船方不负担装货费用

#定义硒秒

#定义聚丙烯电容制造_配对

使用命名空间标准

typedef long long LL

typedef pairint,int PII;

typedef pairLL,LL PLL

template typename T bool chkMax(T x,T y) { return (y x)?x=y,1 : 0;}

模板类型名T bool chkMin(T x,T y) { return (y x)?x=y,1 : 0;}

模板类型名T void inline read(T x) {

int f=1;x=0;char s=getchar();

while(s ' 0 ' | | s ' 9 '){ if(s=='-')f=-1;s=getchar();}

while (s='9' s='0') x=x * 10 (s ^ 48),s=getchar();

x *=f;

}

const int N=2e5 5

int t,n;

char s[N];

布尔五[26];

int main()

{

scanf('%d ',t);

while(t -)

{

scanf('%s ',s 1);

n=strlen(s 1);

memset(v,0,sizeof v);

int k=1;

for(;k=n;k)

如果(!v[s[k]-' a '])v[s[k]-' a ']=true;

其他

打破;

bool f=true

for(int I=k;I=n;我)

如果(s!=s[i-k 1])

{

f=假;

打破;

}

puts(f?是':'否');

}

返回0;

}

模拟

//问题: B。一根完美平衡的弦?

//竞赛:代码强制-代码强制第785轮(Div .2)

//网址: https://codeforces.com/contest/1673/problem/B

//内存限制: 256 MB

//时间限制: 1000毫秒

//

//由大脑性麻痹编辑器(https://cpeditor.org)提供支持

//%%%Skyqwq

#包含位/标准数据h。

//#定义int long龙

#定义帮助{ CIN。平局(空);cout.tie(空);}

#定义按钮推回

#首先定义船方不负担装货费用

#定义硒秒

#定义聚丙烯电容制造_配对

使用命名空间标准

typedef long long LL

typedef pairint,int PII;

typedef pairLL,LL PLL

template typename T bool chkMax(T x,T y) { return (y x)?x=y,1 : 0;}

模板类型名T bool chkMin(T x,T y) { return (y x)?x=y,1 : 0;}

模板类型名T void inline read(T x) {

int f=1;x=0;char s=getchar();

while(s ' 0 ' | | s ' 9 '){ if(s=='-')f=-1;s=getchar();}

while (s='9' s='0') x=x * 10 (s ^ 48),s=getchar();

x *=f;

}

const int N=2e5 5

int t,n,CNT[26];

布尔五[26];

char s[N];

布尔时钟(整数x)

{

memset(cnt,0,sizeof CNT);

for(int I=1;I=n;我)

{

if(s-'a'==x)

memset(cnt,0,sizeof CNT);

CNT[s-' a '];

if(cnt[s-'a']=2)返回真实的

}

返回错误的

}

int main()

{

scanf('%d ',t);

while(t -)

{

memset(v,0,sizeof v);

scanf('%s ',s 1);

n=strlen(s 1);

for(int I=1;I=n;I)v[s-' a ']=true;

bool f=true

for(int I=0;i26我)

如果(五[一])

{

if(ck(i))

{

f=假;

打破;

}

}

puts(f?是':'否');

}

返回0;

}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now