首页 > 其他分享 >CF Round 984 C. Anya and 1100(模拟)

CF Round 984 C. Anya and 1100(模拟)

时间:2024-11-07 19:46:04浏览次数:6  
标签:子串 cnt ch cout int cin 984 CF 1100

传送门icon-default.png?t=O83Ahttps://codeforces.com/contest/2036/problem/C

解题思路

先扫一遍字符串,判断有几个 1100 子串。

然后,对于每一次操作,可以算出对答案的影响,减去更改会减少的子串,再加上更改后会增加的子串。

代码

#include<bits/stdc++.h>
using namespace std;

char s[200001];
int q,t;
int n;
int cnt;

int p;
char ch;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	cin>>t;
	while(t--)
	{
	cin>>s;
	n=strlen(s);
	cin>>q;
	cnt=0;
	for(int i=0;i+3<n;i++)
	{
		if(s[i]=='1'&&s[i+1]=='1'&&s[i+2]=='0'&&s[i+3]=='0')
		{
			cnt++;
		}
	}
	
	while(q--)
	{
		cin>>p>>ch;
		
		if(s[p-1]==ch)
		{
			if(cnt)
				cout<<"YES\n";
			else
				cout<<"NO\n";
		}
		else{
			if(p-1>=0&&p+2<n)
			{
				if(s[p-1]=='1'&&s[p]=='1'&&s[p+1]=='0'&&s[p+2]=='0')
					cnt--;
			}
			if(0<=p-2&&p+1<n)
			{
				if(s[p-2]=='1'&&s[p-1]=='1'&&s[p]=='0'&&s[p+1]=='0')
					cnt--;
			}
			if(0<=p-3&&p<n)
			{
				if(s[p-3]=='1'&&s[p-2]=='1'&&s[p-1]=='0'&&s[p]=='0')
					cnt--;
			}
			if(0<=p-4&&p-1<n)
			{
				if(s[p-4]=='1'&&s[p-3]=='1'&&s[p-2]=='0'&&s[p-1]=='0')
					cnt--;
			}
			s[p-1]=ch;
			if(p-1>=0&&p+2<n)
			{
				if(s[p-1]=='1'&&s[p]=='1'&&s[p+1]=='0'&&s[p+2]=='0')
					cnt++;
			}
			if(0<=p-2&&p+1<n)
			{
				if(s[p-2]=='1'&&s[p-1]=='1'&&s[p]=='0'&&s[p+1]=='0')
					cnt++;
			}
			if(0<=p-3&&p<n)
			{
				if(s[p-3]=='1'&&s[p-2]=='1'&&s[p-1]=='0'&&s[p]=='0')
					cnt++;
			}
			if(0<=p-4&&p-1<n)
			{
				if(s[p-4]=='1'&&s[p-3]=='1'&&s[p-2]=='0'&&s[p-1]=='0')
					cnt++;
			}
			if(cnt)
				cout<<"YES\n";
			else
				cout<<"NO\n";
		}
	}
	}
	return 0;
}

标签:子串,cnt,ch,cout,int,cin,984,CF,1100
From: https://blog.csdn.net/2403_87021226/article/details/143578886

相关文章

  • 雷达目标检测cfar小白版本
     一编2024.11.7日 目前只是简单概念后续持续更**参考单元**和**保护单元**的概念###1.什么是保护单元?**保护单元**是指在检测过程中,紧邻目标检测单元的几个位置(也称距离单元)。这些单元的作用是**防止目标信号影响噪声估计**。例如,如果我们想在位置\(i\)检测......
  • 【题解】CF1944
    CF1944A简要题意给定完全图删k条边使得从一号点开始的可达点最少Solution注意到最多需要删n-1条边就可以使得任意一个其他点都到达不了又注意到只要删的边少于n-1就可以从一号点走出去,主要走出去就可以走到任何点所以这题答案只有两种如果k≤n-1答案为n否则答案为1......
  • SpringBoot图片创作分享平台的设计与实现7l7cf 文末可获取,系统界面在最后面。
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,图片橱窗开题报告内容一、选题理由随着互联网技术的飞速发展和社交媒体的普及,图片已成为人们日常交流和分享的重要载体。然而,当前市场上的图片分......
  • CF 口胡笔记 2200Ct辑
    ¿如何搞笑高效做题?只需要口胡CF题就行啦!(从前天起口胡CF按照洛谷通过人数排序的题单这期我们来口胡CF2200Part1吧~CF617EXORandFavoriteNumber给定一个长度为\(n\)的序列\(a\),然后再给一个数字\(k\),再给出\(m\)组询问,每组询问给出一个区间,求这个区间......
  • CF1270 Good Bye 2019
    Dashboard玩构造玩的,服了。A拥有最大牌的必胜。linkB若相邻的差\(\ge2\)则有解,否则根据变化连续性一定无解。linkC加两个数,第一个数为之前所有数的异或和。加进来之后异或为0。第二个数为加完第一个数之后的和。linkD考虑\(k=n-1\)时,分别询问除去每个数之后的第\(......
  • CF 1438 题解
    CF1438题解ASpecificTastesofAndre考虑一种非常简单的构造:\(a_i=1\).不难发现满足条件.BValeriiAgainstEveryone结论:符合条件当且仅当有两个一样的元素.证明:充分性显然,下证必要性.若不存在两个一样的元素,则由于无法进位,故没有办法得到两个区间和在相......
  • CF963-Div2-E. Xor-Grid Problem
    CF963-Div2-E.Xor-GridProblem题意给定一个\(n\timesm\)的矩阵\(a\),有两种操作:选择一行,把每个数变成所在列所有数的异或之和。选择一列,把每个数变成所在行所有数的异或之和。求进行任意次操作后整个矩阵最小的美丽值。思路第一个发现:同一数异或两次相当于没有异......
  • CF的背包DP (备用笔记)
    源自vjudge上找到题目,都是背包DP的变式------(推荐点点前两个字......
  • CF2001 题解
    A给定循环数组,每次操作时,设当前大小为m。选择$i\in[0,m)$,若满足$a_i\lea_{i+1\bmodm}$,则可删除$a_i,a_{i+1\bmodm}$中的任意一个。求最小的操作次数,使得数组中所有元素都相等。$n\le100$操作非常强,除了两个相邻位置相等的情况,可以删除任意元素。然而所有位置都......
  • E. Reverse the Rivers(二分)CF984
    题意:给定n个国家,k个地区,aij为第i个国家第j个地区,bij=a1j|a2j|---aij为第i个国家第j个地区的更新值,给出q个问题,每个问题包含m项要求,国家i必须满足m项要求:如果o=='<'必须满足bir<c否则bir>c,输出满足所有条件的最小序号的国家分析:如果o是小于号,用二分找到右区间,如果o是大于号,用二......