A.Two0-1Sequences 大致翻译:两个长度为n和m的二进制序列a和b(题目保证n>=m)两个操作:op1: 改变a(2)为min(a(1),a(2)),并且移除a(1)op2: 改变a(2)为max(a(1),a(2)),并且移除a(1)每次操作后,原先的a(i)变成a(i+1),长度减少1,即前移。 a二进制序列能否通过这两个操作变成b二进制序列?解题思路:刚开始想的是判断a2后缀跟a1后缀是否相同,再判断,a1前面有没有1和0(因为有1和0,就表示op1和op2可以随意完成)。写的时候又陆陆续续发现需要几个特判,想a1长度为1等。于是就debug,慢慢发现只要前面有a2的第一
A.Two0-1Sequences 大致翻译:两个长度为n和m的二进制序列a和b(题目保证n>=m)两个操作:op1: 改变a(2)为min(a(1),a(2)),并且移除a(1)op2: 改变a(2)为max(a(1),a(2)),并且移除a(1)每次操作后,原先的a(i)变成a(i+1),长度减少1,即前移。 a二进制序列能否通过这两个操作变成b二进制序列?解题思路:刚开始想的是判断a2后缀跟a1后缀是否相同,再判断,a1前面有没有1和0(因为有1和0,就表示op1和op2可以随意完成)。写的时候又陆陆续续发现需要几个特判,想a1长度为1等。于是就debug,慢慢发现只要前面有a2的第一
1.基础分BaseRating=ProblemScorce∗0.5+ratingScorce∗0.4+BlogScore∗0.1BaseRating=ProblemScorce*0.5+ratingScorce*0.4+BlogScore*0.1BaseRating=ProblemScorce∗0.5+ratingScorce∗0.4+BlogScore∗0.1ProblemScorce=PassPloblemSumProblemScorce=PassPloblemSumProblemScorce=PassPloblemSumratingScorce=(AtcodeRating+Codefor
1.基础分BaseRating=ProblemScorce∗0.5+ratingScorce∗0.4+BlogScore∗0.1BaseRating=ProblemScorce*0.5+ratingScorce*0.4+BlogScore*0.1BaseRating=ProblemScorce∗0.5+ratingScorce∗0.4+BlogScore∗0.1ProblemScorce=PassPloblemSumProblemScorce=PassPloblemSumProblemScorce=PassPloblemSumratingScorce=(AtcodeRating+Codefor
CodeTONRound2(Div.1+Div.2,Rated,Prizes!)题解A-Two0-1Sequences题意:有两个字符串\(a和b\),都是\(01\)字符串,可以进行一下操作看是否可以将\(a\)变成\(b\),设\(a_1\)和\(a_2\)表示的是字符串\(a\)的第一个字母和字母在满足可以操作的前提下,将\(a_2\)变成\(max(a_1,a_2)\),并将\(a_1\)删去在满足可以操作的前提下,将\(a_2\)变成\(min(a_1,a_2)\),并将\(a_1\)删去,思路:删去的时候肯定不能让字符串\(a\)的大小\(b\)的大小,并且得知后面的字符串一定要相
CodeTONRound2(Div.1+Div.2,Rated,Prizes!)题解A-Two0-1Sequences题意:有两个字符串\(a和b\),都是\(01\)字符串,可以进行一下操作看是否可以将\(a\)变成\(b\),设\(a_1\)和\(a_2\)表示的是字符串\(a\)的第一个字母和字母在满足可以操作的前提下,将\(a_2\)变成\(max(a_1,a_2)\),并将\(a_1\)删去在满足可以操作的前提下,将\(a_2\)变成\(min(a_1,a_2)\),并将\(a_1\)删去,思路:删去的时候肯定不能让字符串\(a\)的大小\(b\)的大小,并且得知后面的字符串一定要相
比赛链接链接A.ThreeDoors题目链接链接题目描述输入输出样例输入43012103223102130输出YESNOYESNO题目大意面前有三个门,编号分别为1,2,3。再给你一把编号为x的钥匙,打开每扇门后,可以有一把编号为a[i]的钥匙,判断所给的x是否能把三扇门都打开。思路按照题意进行模拟,并且用a[]存放钥匙编号,st[]用来判断门是否打开代码#include#include#include#include#includeusingnamespacestd;voidsolve(){ intx; cin>>x; inta[4]; cin>>a[1]>>a[2]>>a[3]; bo
比赛链接链接A.ThreeDoors题目链接链接题目描述输入输出样例输入43012103223102130输出YESNOYESNO题目大意面前有三个门,编号分别为1,2,3。再给你一把编号为x的钥匙,打开每扇门后,可以有一把编号为a[i]的钥匙,判断所给的x是否能把三扇门都打开。思路按照题意进行模拟,并且用a[]存放钥匙编号,st[]用来判断门是否打开代码#include#include#include#include#includeusingnamespacestd;voidsolve(){ intx; cin>>x; inta[4]; cin>>a[1]>>a[2]>>a[3]; bo
A.给定一个序列,对于任意1|ai−ak|+|ak−aj|=|ai−aj|,找满足条件的i和j并输出思路:观察样例,发现输出的是最大值和最小值,那么猜答案是最大值和最小值,进行证明若答案不是最大值和最小值,则一定存在一个k使得|ak-ap|大于|aj-ai|一定不满足|ai−ak|+|ak−aj|=|ai−aj|与命题矛盾所以记录最大值和最小值输出即可。代码: #includeusingnamespacestd;#definexfirst#defineysecond#defineendl'\n'#defineintlonglong#definedebug(x)coutconstintP=131
A.给定一个序列,对于任意1|ai−ak|+|ak−aj|=|ai−aj|,找满足条件的i和j并输出思路:观察样例,发现输出的是最大值和最小值,那么猜答案是最大值和最小值,进行证明若答案不是最大值和最小值,则一定存在一个k使得|ak-ap|大于|aj-ai|一定不满足|ai−ak|+|ak−aj|=|ai−aj|与命题矛盾所以记录最大值和最小值输出即可。代码: #includeusingnamespacestd;#definexfirst#defineysecond#defineendl'\n'#defineintlonglong#definedebug(x)coutconstintP=131