题意:

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

Codeforces570C 【简单标记】的更多相关文章

  1. Markdown:纯文本进行网页排版的简单标记语言

    Markdown http://daringfireball.net/projects/markdown/ 2016-08-03 Markdown是一种标记语言,对纯文本使用简单的标记符号进行网页格式 ...

  2. C#3 分部方法,简单标记一下

    如果我问你,如果一个普通的类实现了一个接口方法,但是这个类的实例却访问不到这个接口的方法,这种情况你遇到过吗?有时候,你可能在使用分部方法时就会发现这么一个现象. C#3 中出现了 “分部方法” ,工 ...

  3. Mark Down 简单标记语言

    MarkDown介绍=============== ## 1.标题分级介绍 #一级标题###三级标题######六级标题 一级标题============== 二级标题---------------- ...

  4. CoffeeScript及相关文本标记语言

    粗步看了下CoffeeScript(简称cs),发现cs这玩意还是有些问题,当然最大的问题之一是缺乏称手的工具.要是能放VS里编译调试当然好.但是转来转去的,真不如直接多敲几个JS字符串. 问题之二就 ...

  5. 『zkw线段树及其简单运用』

    阅读本文前,请确保已经阅读并理解了如下两篇文章: 『线段树 Segment Tree』 『线段树简单运用』 引入 这是一种由\(THU-zkw\)大佬发明的数据结构,本质上是经典的线段树区间划分思想, ...

  6. 打印word文档时遇到标记区如何取消

           故障描述:word页面显示正常,打印以及打印预览的时候,页面上会出现部分暗色区域(标记区)        故障原因:简单标记惹的祸        解决办法:word菜单栏-审阅-简单标记 ...

  7. GIS(一)——在js版搜索地图上加入Marker标记

    因为我们做的是有关于旅游方面的项目,所以涉及到了地图功能.我接到的当中一个任务就是,在地图上显示指定的几个景点,并在地图上加上标记. 我们项目用的是搜狗地图.使用的是js版本号.大家有兴趣的话,能够參 ...

  8. xml简单介绍及libmxml编程

    今天我们来简单介绍一下,关于xml的一些内容,包括自己编写一些程序进行生成和解析. 首先我们我们还是从xml的演化历史来了解一下它吧. 历史演化 GML: 在20世纪60年代为了促进数据交换和操作,通 ...

  9. 《Head First Servlets & JSP》-10-定制标记开发

    标记文件:很想include,但是比include更好 建立和使用标记文件的最简方法 取一个被包含文件(如Header.jsp),把它重命名为带有一个.tag扩展名(Header.tag): 把标记文 ...

随机推荐

  1. JavaScript常用函数以及语法

    $("#dwid").val(checkedVal.join(',')); .字符串(String) trim() //去掉空格   1.声明      var myString ...

  2. PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP

    /** * 检测访问的ip是否为规定的允许的ip * Enter description here ... */ function check_ip(){ $ALLOWED_IP=array('192 ...

  3. C#winform拖拽实现获得文件路径

    1.关键知识点说明: 通过DragEnter事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等),在DragDrop事件中对“信息”进行解析.窗体的AllowDrop属性必须设置成true;且 ...

  4. MFC实现COM组件

    一般而言,ATL实现了对COM组件最好的支持,所以不用MFC实现COM组件.但是MFC实际上也是可以实现COM组件的. 一.MFC DLL优点: MFC com组件可以将MFC的类型作为参数进行传递, ...

  5. java try中包含return语句,finally中的return语句返回顺序

    //结论: finally 中的代码比 return 和 break 语句后执行 public static void main(String[] args) { int x=new Test.tes ...

  6. 洛谷3384&bzoj1036树链剖分

    值得注意的是: 一个点的子树是存在一起的...也就是说我们修改子树的时候只用... /********************************************************* ...

  7. Send Code to evernote by my specify notebook

    #coding:utf-8 import sys sys.path.append("lib") import thrift.protocol.TBinaryProtocol as ...

  8. Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)

    一.Description The most important part of a GSM network is so called Base Transceiver Station (BTS). ...

  9. JSP标签和EL表达式

    1.jsp标签: sun原生的,直接jsp使用 <jsp:include> -- 实现页面包含,动态包含 <jsp:include page="/index.jsp&quo ...

  10. 【jQuery】praseFloat()方法的用法及注意事项

    [jQuery]praseFloat()方法的用法及注意事项 praseFloat():  用于解析一个字符串,并返回一个浮点数 语法:                praseFloat(strin ...