题意:

给定一个长为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;
}

最新文章

  1. try-catch-finally 引发的奇怪问题
  2. 用 python实现简单EXCEL数据统计
  3. 电脑开机黑屏,显示Reboot and Select proper boot device!
  4. 【T_SQL】基础 续+
  5. Android常见控件— — —Button
  6. POJ1226:Substrings(后缀数组)
  7. 安卓开发_浅谈ContextMenu(上下文菜单)
  8. Android数据存储(二)----PreferenceFragment详解
  9. Struts2+JQuery发送Ajax请求
  10. 详解一下网络广告cpc、cpm、cpl、cpa、cps、cpr的计费方法是什么
  11. iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
  12. Hyperledger Fabric Chaincode for Operators——实操智能合约
  13. (3)Deep Learning之神经网络和反向传播算法
  14. Android系统之Broadcom GPS 移植
  15. Go 开源博客平台 Pipe 1.0.0 发布!
  16. JdbcTemplate介绍&lt;二&gt;
  17. task1
  18. 对象引用 方法传参 值传递 引用传递 易错点 MD
  19. day28 python学习反射 sinstance和issubclass
  20. 725. Split Linked List in Parts

热门文章

  1. PL/SQL学习笔记_02_游标
  2. windows下安装 postgresql
  3. linux命令学习笔记(37):date命令
  4. SPOJ Query on a tree II (树剖||倍增LCA)(占位)
  5. wcf win7上使用net.tcp出现不支持协议问题解决
  6. APIO2017 游记
  7. BZOJ2428:[HAOI2006]均分数据
  8. spring IOC 注解@Autowired
  9. 转载 : 10大H5前端框架
  10. NetScaler VPX在Azure上的部署(一)