首页 > 其他分享 >CF1912L 题解

CF1912L 题解

时间:2023-12-21 21:34:49浏览次数:54  
标签:idx int 题解 截取 len substr CF1912L 部分

原题传送门


题目大意

有一个仅有 0L 构成的序列,求出一种方案,使得左部分的 0 数量不等于右部分的 O 数量,且左部分的 L 数量不等于右部分的 L 数量,若不存在输出 -1

思路分析

首先看题目范围,\(2≤n≤200\),数据很小,考虑暴力。

可以使用字符串截取函数 s.substr()

本题我们使用其两种使用方法:

  • s.substr(idx,len) 截取下标为 \(idx\) 之后(包括 \(idx\))的 \(len\) 位元素。

  • s.substr(idx) 截取下标为 \(idx\) 一直到字符串最后的所有元素。

针对此题,第一种方法可截取左部分,第二种方法可截取有部分,按照题意模拟即可。

该思路的时间复杂度为 \(\mathcal{O(n^2)}\)。

代码:

/*Written by smx*/
#include<bits/stdc++.h>
using namespace std;
bool check(string a,string b){
	int La=0,Lb=0,ZEROa=0,ZEROb=0;
	for(int i=0;i<a.size();i++){
		if(a[i]=='L'){
			La++;
		}
		else{
			ZEROa++;
		}
	}
	for(int i=0;i<b.size();i++){
		if(b[i]=='L'){
			Lb++;
		}
		else{
			ZEROb++;
		}
	}
	return La!=Lb&&ZEROa!=ZEROb;
}
int main()
{
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int len;
	string s;
	cin>>len>>s;
	for(int i=0;i<s.size()-1;i++){//枚举分割位置
		string strl,strr;
		strl=s.substr(0,i+1);
		strr=s.substr(i+1);
		if(check(strl,strr)){
			cout<<i+1;
			return 0;
		}
	}
	cout<<"-1";
	return 0;
}

标签:idx,int,题解,截取,len,substr,CF1912L,部分
From: https://www.cnblogs.com/shimingxin1007/p/17920152.html

相关文章

  • P5289 [十二省联考 2019] 皮配 题解
    题目链接点击打开链接题目解法题意比较复杂,形式化一下题意是:一些人和一些城市,每个人属于一个城市,每个人属于\(A/B/C/D\)队,需要满足:每个城市中的人要么都属于\(AC\)或\(BD\),且\(A+C\leC_0,\;B+D\leC_1,\;A+B\leD_0,\;C+D\leD_1\)暴力\(dp\)是\(f_{i,a,b,c}\)表......
  • 2023第七届强网杯 个人题解
    27htppySpring评价:相对简单,放出来的晚,做的出来的人相对比较少大致流程是可以上传.pebble模板文件,然后通过访问上传的恶意模板文件进行rce。首先上传恶意模板文件,经过几次尝试,黑名单过滤了,org.springframework.context.support.ClassPathXmlApplicationContext和{{最终.pe......
  • CF1914 D Array Collapse 题解
    LinkCF1914DArrayCollapseQuestion初始给出一个数组\(\{P\}\),数组中每个值都不相同,我们可以选中\(P\)数组中连续的一段,然后删除除了最小值以外的所有元素,求删除多次(包括\(0\)次)后,剩下的数组的数量Solution当时就没怎么往DP方面想,没想到还能这样DP定义\(F[i]\)......
  • P9973 [THUPC 2024 初赛] 你说得对,但是 AIGC の 题解
    难度极低。显然,句子开头是Youareright,but即为人工智能。#include<iostream>#include<string>#include<cstdio>namespaceio{template<typenameT>inlinevoidread(T&x){x=0;boolf=false;charch=getchar();while(ch<'0......
  • P4147 玉蟾宫 题解
    P4147玉蟾宫题解题目链接P4147玉蟾宫简要思路很容易发现,这是最大子矩形问题的板子题。定义一个二维的\(dp\)数组,\(dp_{i,j}\)代表以坐标\((i,j)\)为底的线段,最长能向上延伸多少个单位长度的F(如果自身为R,值则为\(0\))。对于\(dp\)数组的维护,分为两种情况:当\(......
  • THUPC 2024 初赛部分题解和游记
    我们队赛时被J题创死了awa离做出来差一个剪枝,而且赛后试了试不加剪枝甚至能过……6题离场。一些题解J套娃先对\([0,n]\)中每个数\(k\)分别考虑。假设总共出现了\(c\)次\(k\),第\(i\)次出现的位置是\(pos_{i}\),(令\(pos_0=0,pos_{c+1}=n+1\)),则只有处在\(pos_{......
  • 软件测试/测试开发|selenium NoSuchDriverException问题解决
    前言我们在使用selenium进行web自动化测试时,有时候会遇到NoSuchDriverException的问题,这个异常通常是由于WebDriver无法找到指定的浏览器驱动而引起的。在这篇文章中,我们将讨论NoSuchDriverException的原因以及如何解决这个问题。NoSuchDriverException是什么?NoSuchDriverException......
  • 华中师范大学2023新生赛 I 镜面折跃 题解
    Link华中师范大学2023新生赛I镜面折跃Question懒得转述了Solution确实是一道好题可以把一节方格拆成\(4\)个点,每个点分别代表从四个方向射进这个节点的光线如果没有镜子,那么就左侧节点的右侧连接自己的右侧,以此类推如果有镜子,那么顺着镜子方向建边,边权为\(0\),向\(9......
  • 题解 Gym 102341B【Bulbasaur】/ SS231107C【爬梯高手】
    题解SS231107C【爬梯高手】撞原了,好耶!Gym102341B顺便把我的变异加强版爆标了!!!problem有一个\(n*m\)个点的有向分层图,共有\(n\)层,每层\(m\)个点,每条边一定是从第\(i\)层连向第\(i+1\)层。定义\(f(i,j)\)表示选择若干条路径,每条路径从第\(i\)层出发,在第\(j\)......
  • U388010 题解
    洛谷U388010题解link:https://www.luogu.com.cn/problem/U388010Sol首先,我们看到这一条件:对于每一个\(1\lei\len\),\(1\lej\len\),\(i\neqj\)满足\(a_i\bmoda_j\neq0,\a_j\bmoda_i\neq0\)。我们知道,质数的因数只有\(1\)和本身,所以当序列里全是质数......