Problem is here
题意:
让你构造一个序列,有两个要求:1.全为’a’字符。2.每两个a字符之间一定夹着至少一个’b’字符,求能构造出多少个这样的序列
思路:
首先肯定是以b为切割点,计算出每段连续a序列的长度。对于一段长度为sum的’a’我们有sum+1种操作。因为可以不挑选这一段的’a’,在最后-1就是排除掉所有的’a’都不挑选的情况。那么解法就出来了:把每段a连续序列的长度加1再相乘,记得取模,最后输出时候,之前的积减去1,就是答案。
代码
1 |
|
让你构造一个序列,有两个要求:1.全为’a’字符。2.每两个a字符之间一定夹着至少一个’b’字符,求能构造出多少个这样的序列
首先肯定是以b为切割点,计算出每段连续a序列的长度。对于一段长度为sum的’a’我们有sum+1种操作。因为可以不挑选这一段的’a’,在最后-1就是排除掉所有的’a’都不挑选的情况。那么解法就出来了:把每段a连续序列的长度加1再相乘,记得取模,最后输出时候,之前的积减去1,就是答案。
1 | #include <stdio.h> |