codeforces——思路与规律
Posted 安
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 1000001 using 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——思路与规律的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 626C Block Towers「贪心」「二分」「数学规律」
codeforce440C-Maximum splitting-规律题