首页 > 其他分享 >P9805 [POI2022~2023R1] ply

P9805 [POI2022~2023R1] ply

时间:2024-01-26 11:35:01浏览次数:28  
标签:POI2022 加一 int ans ply 2023R1 深度 P9805

1st思路

贪心

  • 当遇到左括号深度加一,可如果当前深度大于 $H$ 时深度减二,并且 $ans$ 加一。相当于进行一次翻转操作。
  • 当遇到右括号深度减一,当深度小于零时深度加二,并且 $ans$ 加一。

code

#include<bits/stdc++.h>
using namespace std;
string s;
int k,n=0,m=0,ans=0;
int main(){
	cin>>n>>m;
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]=='('){
			if(k>m){k-=2;ans++;}
			k++;
		}
		if(s[i]==')'){
			if(k<0){k+=2;ans++;} 
			k--;
		}
	}
	cout<<ans;
	return 0;
}

标签:POI2022,加一,int,ans,ply,2023R1,深度,P9805
From: https://www.cnblogs.com/wenzhihao2023/p/17988966

相关文章

  • 初中英语优秀范文100篇-069English Changed Me Deeply-英语深深地改变了我
    PDF格式公众号回复关键字:SHCZFW069记忆树1WithoutstudyingEnglish,Icanhardlyachievegreatersuccessinmystudies.翻译不学英语,我很难在学习上取得更大的成功简化记忆英语句子结构WithoutstudyingEnglish是介词短语作状语,表示“不学习英语”I(主语)+can(......
  • javascript中apply的用法
    javascript中apply的用法欧方2023-03-3118:30江苏在JavaScript中,apply方法和call方法类似,都是用于调用一个函数或方法,不同之处在于apply方法接受一个参数数组作为函数的参数列表。apply方法的语法如下:function.apply(thisArg,[argsArray])其中,t......
  • CF1542B Plus and Multiply
    CF1542BPlusandMultiply题目传送门题意有一个集合,最开始集合中只有\(1\),又有\(a\),\(b\),如果集合中存在\(k\),那么将\(ka\)和\(k+b\)加入集合试求,\(n\)是否尊在于集合之中思路稍加枚举(或者瞪眼大法)可得,该集合中的任何数都可被表示为\(k=ax+by\)(\(a,b\)为非负整数)分个类更......
  • Js(Javascript)的apply call 和bind区别
    ​ apply、call和bind是用于调用函数的三种不同方式,它们的主要区别在于函数调用时的上下文(this关键字)以及参数传递的方式。call和apply是用于立即调用函数并设置this上下文的方法,它们的主要区别在于参数传递的方式。bind不会立即执行函数,而是创建一个新的函数,将this......
  • C# .net中PropertyDescriptor的使用和BindingList的ApplySort排序
    找了好多资料都是java中PropertyDescriptor的使用,至于C#中的都抄袭别人的,又讲不清楚怎么用。官方文档也没不会手把手教你怎么用,经过一下午的研究,结果如下1、找到PropertyDescriptor同一dll下的,使用TypeDescriptor反射出属性的PropertyDescriptorCollection,从这里拿出对应属性的P......
  • JavaScript apply、call、bind 函数详解
    apply和callapply和call非常类似,都是用于改变函数中this的指向,只是传入的参数不同,等于间接调用一个函数,也等于将这个函数绑定到一个指定的对象上:letname='window'functiongetName(param1,param2){console.log(this.name)console.log(param1,param2)}letobj=......
  • elixir apply 结合 macro 一个方便的开发技巧
    此玩法实际在Phoenixelixir项目中使用比较多,以下是一个简单的示例示例代码login.exdefmoduleLogindodefdemoappdoquotedoimportunquote(__MODULE__)endenddefdalongdoIO.puts("dalongdemo")enddefmacro__using__(which)whenis_......
  • JavaScript——函数的call、apply、bind方法
    JavaScript的函数拥有三个方法:callapplybind这三个方法都可以改变函数被调用时,函数内部this的指向。至于区别,阅读下面代码即可一目了然:functionmyCall(context){constargs=[...arguments].slice(1)letresultcontext=context?context:window......
  • ProjectorMultiply.Shader 非固定管线版本
    //UpgradeNOTE:replaced'_Projector'with'unity_Projector'//UpgradeNOTE:replaced'_ProjectorClip'with'unity_ProjectorClip'Shader"Projector/Multiply"{Properties{_ShadowTex("......
  • JavaScript的apply、call、bind方法
    JavaScript的apply、call、bind方法概述简述这三个方法存在一定的迷惑性,而且对于刚看ES6的人来说,十分难理解,这里为了以后我可能会复习到这个知识点,做出详解。总的来说,这三个方法都是将某某某(某01)绑定在某某某(某02)上,然后执行这个被绑定的某某某(某01),或者单纯就是绑定不执行。详......