Codeforces570C 【简单标记】
2024-09-04 18:04:03
题意:
给定一个长为n的字符串(包含小写字母和’.’),有m次操作
每次操作可以修改字符,并询问修改后有多少对相邻的’.’
思路:
标记。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=3e5+10;
bool vis[N];
char s[N];
int n,m,len,ans,x;
int main()
{
char y[5];
scanf("%d%d",&n,&m);
scanf("%s",s);
len=strlen(s);
memset(vis,false,sizeof(vis));
ans=0;
for(int i=0;i<n;i++)
{
if(s[i]=='.') vis[i]=true;
if(i&&vis[i]&&vis[i-1]) ans++;
}
while(m--)
{
scanf("%d%s",&x,y);
x--;
if(y[0]=='.')
{
if(!vis[x])
{
if((x-1)>=0&&vis[x-1]) ans++;
if((x+1)<n&&vis[x+1]) ans++;
vis[x]=true;
}
}
else
{
if(vis[x])
{
if((x-1)>=0&&vis[x-1]) ans--;
if((x+1)<n&&vis[x+1]) ans--;
vis[x]=false;
}
}
printf("%d\n",ans);
}
return 0;
}
最新文章
- try-catch-finally 引发的奇怪问题
- 用 python实现简单EXCEL数据统计
- 电脑开机黑屏,显示Reboot and Select proper boot device!
- 【T_SQL】基础 续+
- Android常见控件— — —Button
- POJ1226:Substrings(后缀数组)
- 安卓开发_浅谈ContextMenu(上下文菜单)
- Android数据存储(二)----PreferenceFragment详解
- Struts2+JQuery发送Ajax请求
- 详解一下网络广告cpc、cpm、cpl、cpa、cps、cpr的计费方法是什么
- iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
- Hyperledger Fabric Chaincode for Operators——实操智能合约
- (3)Deep Learning之神经网络和反向传播算法
- Android系统之Broadcom GPS 移植
- Go 开源博客平台 Pipe 1.0.0 发布!
- JdbcTemplate介绍<;二>;
- task1
- 对象引用 方法传参 值传递 引用传递 易错点 MD
- day28 python学习反射 sinstance和issubclass
- 725. Split Linked List in Parts