BZOJ3416 Poi2013 Take-out
来源:互联网 发布:天下3捏脸数据女 编辑:程序博客网 时间:2024/04/27 12:39
我们把c看成-k,b看成1,那么我们搞一个栈,从前往后扫,每次如果当前往前长度k+1和为0就说明可以消掉,然后倒序输出
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<ctime>#include<cmath>#include<algorithm>#include<iomanip>#include<vector>#include<map>#include<set>#include<bitset>#include<queue>#include<stack>using namespace std;#define MAXN 1000010#define MAXM 1010#define INF 1000000000#define MOD 1000000007#define eps 1e-8#define ll long longint n,k;char a[MAXN];int st[MAXN],tp;int s[MAXN];vector<int>ans[MAXN];int tot;int main(){int i,j;scanf("%d%d%s",&n,&k,a+1);for(i=1;i<=n;i++){s[i]=s[i-1]+(a[i]=='c'?-k:1);st[++tp]=i;if(tp>k&&s[st[tp-k-1]]==s[i]){j=k+1;tot++;while(j--){ans[tot].push_back(st[tp--]);}}}for(i=tot;i;i--){for(j=ans[i].size()-1;~j;j--){printf("%d ",ans[i][j]);}printf("\n");}return 0;}/**/
0 0
- BZOJ3416: Poi2013 Take-out
- BZOJ3416 Poi2013 Take-out
- TAKE ME OUT
- POI2013
- take
- Stock Options Take Bite Out of Earnings Statements
- POI2013 题解
- Read a bit and take it out,the come back read some more
- MongoDB发生Can't take a write lock while out of disk space错误解决方法
- CareerCup Number of ways to take n identical objects out of a bucket
- MongoDB发生Can't take a write lock while out of disk space错误解决方法
- MongoDB发生Can't take a write lock while out of disk space错误解决方法
- BZOJ3427: Poi2013 Bytecomputer
- BZOJ3420: Poi2013 Triumphal arch
- BZOJ3419: Poi2013 Taxis
- BZOJ3424: Poi2013 Multidrink
- BZOJ3414: Poi2013 Inspector
- BZOJ3415: Poi2013 Price List
- 高德地图坐标转换为百度地图坐标
- intent详解2
- CSS3(三)布局样式
- 玩转微信应用号,「小程序」开发实操指南第二弹
- 连连看算法
- BZOJ3416 Poi2013 Take-out
- R23-
- Coderforces 373(Div.2)
- BZOJ1119 [POI2009]SLO
- 如何在caffe中添加新的Layer
- 如何让secureCRT保持连接不端开
- intent详解1
- win10系统怎么关闭自动更新
- python列表推导式