Codeforces Round #411 (Div. 2) D. Minimum number of steps
来源:互联网 发布:百度人工智能负责人 编辑:程序博客网 时间:2024/05/22 04:26
题目链接:Minimum number of steps
题目大意:给你一段字符串,只包含a,b两种字符,如果碰到ab,就将它变为bba,问这样的变换需要几次
题目思路:我的做法比较不清真,但是能AC。统计每个b左边的a有多少个,然后就是从2的0次方加到2的n-1次方,每个b的贡献是这么多,把所有b的贡献累加,就可以了,算贡献的时候预处理一下2的多少次方,然后预处理一下从2的0次方加到2的n-1次方的总和是多少,每次都对1e9+7取模就好了
#include <bits/stdc++.h>using namespace std;typedef long long ll;string a;const ll MOD = 1e9+7;int cal[1000005],ss[1000005];int main(){ ios::sync_with_stdio(false); cal[0] = 1; for(int i = 1;i < 1000005;i++) cal[i] = (cal[i-1]*2)%MOD; ss[0] = 1; for(int i = 1;i < 1000005;i++) ss[i] = (ss[i-1]+cal[i])%MOD; cin>>a; ll l = a.size(); ll ans = -1; ll sum = 0; for(ll i = 0;i < l;i++){ if(a[i] == 'a') ans++; if(a[i] == 'b'&&ans >= 0) sum = (sum+ss[ans])%MOD; } printf("%lld\n",sum); return 0;}
0 0
- Codeforces Round #411 (Div. 2) D. Minimum number of steps
- Codeforces Round #411 (Div. 2) D. Minimum number of steps
- Codeforces Round #411 (Div. 2) D. Minimum number of steps
- Codeforces Round #411(Div. 2)D. Minimum number of steps【思维递推+快速幂】
- Codeforces Round #411 (Div. 2) D. Minimum number of steps(思维题目)
- Codeforces Round #411 D. Minimum number of steps
- Codeforces Round #411 D. Minimum number of steps (贪心。)
- CF Round #411 (Div. 2) Minimum number of steps
- #411 Div.2 D. Minimum number of steps
- 【Codeforces Round #411 (Div. 1)】Codeforces 804B Minimum number of steps
- Codeforces Round #411 D. Minimum number of steps (思维题)
- Codeforces Round #411 D. Minimum number of steps【逆向思维+模拟】
- Codeforces 805D Minimum number of steps
- CodeForces 805D Minimum number of steps
- 【Codeforces 805】D. Minimum number of steps
- Codeforces Round #411(A. Fake NP; B. 3-palindrome; C. Find Amir; D.Minimum number of steps)
- Codeforces Round #171 (Div. 2) D. The Minimum Number of Variables
- codeforces 805D Minimum number of steps (水题)
- 定义char时加单引号与不加单引号的区别
- 使用浏览器查看Android SQLite数据库-Android Debug Database用法
- python excel使用进阶篇
- Android:一个通用的底部导航
- 深入理解Python(二)
- Codeforces Round #411 (Div. 2) D. Minimum number of steps
- SPI和IIC通信区别
- Pycharm首次安装
- 剑指offer 27. 二叉搜索树与双向链表
- 【读书笔记】机器学习实战-2.3节
- 利用Java操作FTP文件上传,下载,删除
- Dos 命令(一)
- 按同学身高从高到矮依次输出人名
- params.h