首页 > 代码库 > codeforces——思路与规律
codeforces——思路与规律
codeforces 804B http://codeforces.com/problemset/problem/804/B
/*题意:给定一个只含ab的序列,每次操作可将ab变为bba问至少变换多少次使序列不含形式为"ab"的子串这题没想出来......唉。 思路:从后往前处理,每次经过一个a,都要将它移到最后,共经过x个b,将ans+=x,同时b的个数翻倍x += x;每经过一个b,x++。 */#include<iostream>#include<cstdio>#include<cstring>#define mod 1000000007#define maxn 1000001using namespace std;int now,ans;char s[maxn];int main(){ scanf("%s",s); int l=strlen(s); for(int i=l-1;i>=0;i--) { if(s[i]==‘b‘) now=(now+1)%mod; else { ans=(ans+now)%mod; now=(now+now)%mod; } } printf("%d\n",ans); return 0;}
codeforces——思路与规律
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。