首页 > 其他分享 >CF1694B Paranoid String#800(div.2)

CF1694B Paranoid String#800(div.2)

时间:2022-09-18 16:26:50浏览次数:108  
标签:字符 include 结尾 Paranoid 缩成 int 01 div.2 800

题目链接

https://codeforces.com/contest/1694/problem/B

题意简述

样例

点击查看样例

分析

对于以 \(01\)结尾的串,如 \(a_1\ a_2\ a_3\ ...\ 0 \ 1\)

如果 \(0\) 的前一位是 \(1\) ,可以把 \(101\)缩为 \(01\)
如果 \(0\) 的前一位是 \(0\) ,可以把 \(001\)缩为 \(01\)
继续看 \(0\) 的前面的数字 ,循环往复,无论前面是多少,总能缩成 \(01\)
也就是不管 \(01\)的前面是 \(1\) 还是 \(0\) ,都能一直缩下去,最后变成 \(1\)

而对于以 \(10\) 结尾的串,同样拥有这个性质 , 只不过最后缩成的是 \(1\)

那么我们从前往后遍历这个字符串,
如果当前的字符跟他上一个相比不相同的话(即 \(10\) 或 \(01\))
说明只要以当前字符的下标 \(i\) 结尾的串都能缩成长度为 \(1\) 的串,而以 \(i\) 结尾的串 有 \(i+1\) 个子串( \(l=0\sim i,r=i\)).
如果当前的字符跟他上一个是同一个字符,那么以 \(i\) 结尾的串不可能缩成长度是 \(1\) 的,只能 \(i\)单独一个字符.

代码

点击查看代码
#include<stdio.h>
#include<iostream>
#include<cstdlib>
#include<string.h>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
	//freopen("uva.txt","r",stdin);
	int T;
	scanf("%d",&T);
	while(T--)
	{
		int n;
		scanf("%d",&n);
		string s;
		cin>>s;
		LL cnt=1;
		int len=s.length();
		for(int i=1;i<len;i++)
		{
			if(s[i]!=s[i-1])
			{
				cnt+=(i-0+1);
			}else cnt++;
		}
		printf("%lld\n",cnt);	
	}
	return 0;
}

标签:字符,include,结尾,Paranoid,缩成,int,01,div.2,800
From: https://www.cnblogs.com/oijueshi/p/cf1694b.html

相关文章

  • ZRR-8001电能质量在线监测装置
    电能质量的概述    电力工业的迅速发展,在电力消费领域,一方面,随着电力电子技术的广泛应用与发展,供电系统中增加了大量的非线性负载,如静止变流器,工业交直流变换装置等......
  • codeforces#818(Div.2)
    算了,不摆烂了,事情太多,没摆烂的时间了。在我研究出如何把某平台上多年积累的流量变现前,就继续用这个博客记录日常吧。之后所有内容基于时间,就懒得设置标签分类之类的了。昨......
  • 今天开始学习mysql,遂先安装了Mysql 5.6.19 64bit 版本的数据库,结果安装成功了,但是使用
    Linuxmysql5.6:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)-潇湘隐者-博客园 https://www.cnblogs.com/kerrycode/p/38......
  • 【Virt.Contest】CF1155(div.2)
    CF传送门T1:ReverseaSubstring只有本身单调不减的字符串不能转换为字典序更小的字符串。否则肯定会出现\(s_i>s_{i+1}\)的情况。所以只要从头到尾扫一遍,找到\(s_i>......
  • 《GB28007-2011》PDF下载
    《GB28007-2011儿童家具通用技术条件》PDF下载《GB28007-2011》简介本标准规定了儿童家具的术语和定义、一般要求、安全要求、警示标识、试验方法、检验规则及标志、使......
  • 《GB28008-2011》PDF下载
    《GB28008-2011玻璃家具安全技术要求》PDF下载《GB28008-2011》简介本标准规定了玻璃家具的术语和定义、分类、要求、试验方法、检验规则、标志、使用说明、包装、运输......
  • 【Virt.Contest】CF1321(div.2)
    第一次打虚拟赛。CF传送门T1:ContestforRobots统计\(r[i]=1\)且\(b[i]=0\)的位数\(t1\)和\(r[i]=0\)且\(b[i]=1\)的位数\(t2\)。两个数都为\(0\)或都为......
  • 【Virt.Contest】CF1215(div.2)
    第二次打虚拟赛。CF传送门T1:YellowCards黄色卡片中规中矩的\(T1\)。首先可以算出一个人也不罚下时发出的最多黄牌数:\(sum=a1*(k1-1)+a2*(k2-1)\)此时,若\(sum>=n......
  • codeforces round #815 (div.2) B. Interesting Sum
    一开始的想法是n^2时间暴力枚举片段的开头和结尾,但是时间肯定不行。所以干脆想办法缩减时间,用个priority_queue呀,甚至尝试着动态规划。但是很显然无论如何这种东西没法dp,完......
  • h3c s6800交换机probe命令
    <H3C>sysSystemView:returntoUserViewwithCtrl+Z.[H3C]probe[H3C-probe]?Probeviewcommands:INTEGER<0-1>SwitchNObcmBCM[H3C-p......