Poj_1068 Parencodings

POJ 1068 Parencodings POJ 1068 Parencodings[★★☆☆☆] 模拟 构造 题目大意:一个括号表达式可以按照如下的规则表示,就是每个右括号之前的左括号数。 比如(((()()()))),每个右括号之前的左括号数序列为P=4 5 6 6 6 6,而每个右括号所在的括号内包含的括号数为W=1 1 1 4 5 6. 现在给定P,输出W。 样例输入: 2 6 4 5 6 6 6 6 9 4 6 6 阅读详情
            S     (((( )( )() ) ) )
P-sequence     4 5 6666,表示第i个右括号的左边有几个左括号。
W-sequence    1 1 1456,表示第i个右括号和以它为起点的序列中的第几个左括号配对。
问题:已知P序列求W序列。

解决:用字符串数组存放括号序列,再通过遍历和多个标号的出W序列。先找到第一个右括号,在遍历它的左边的括号序列,如果为左括号,则原来为1的标号indexz自减,用于计数的sum自加。如果为右括号则index自加。并每次都判断sum的值,如果为0,则W[0]序列的值为temp,并跳出循环。按照上述过程,依次找到以后的右括号,再执行上面的算法。

 import java.util.Scanner;
/*把一个括号序列,从p表示形式转换成另一种表现形式w。*/
 public class N1068 {
	 int times;
	 int len;
	 int[] p;
	 int[] w;
	 String[] s;
	 int index;
	 int temp;
	 int pos;
	 public  N1068(){
		 Scanner cin=new Scanner(System.in);
		 times=cin.nextInt();
		 for(int i=0;i<times;i++){
			 len=cin.nextInt();
			 p=new int[len];
			 w=new int[len];
			 s=new String[2*len];
			 for(int j=0;j<len;j++){
				 p[j]=cin.nextInt();
			 }
			 pos=0;
			 temp=0;
			 index=0;
			 for(int k=0;k<len;k++){
				 for(;pos<p[k];pos++){
					 s[index++]="(";
				 }
				 s[index++]=")";
			 }
			 transform();
			 for(int m=0;m<len;m++){
				 System.out.print(w[m]+" ");
			 }
			 System.out.println();
		 }
	 }
	 public void transform(){
		pos=0;
		int k=0;
		 for(int i=0;i<len;i++){
			 for(;k<2*len;k++){
				 if(s[k].equals(")")){
					 pos=k;
					 k++;
					 break;
				 }
			 }
			 index=1;
			 temp=0;
			 for(int j=pos-1;;j--){
				 if(s[j].equals("(")){
					 index--;
					 temp++;
				 }else{
					 index++;
				 }
				 if(index==0){
					 w[i]=temp;
					 break;
				 }
			 }
		 }
	 }
	 public static void main(String[] args){
		new N1068();
	 }
 }
 
 
 
 
 
 
 
 


STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码) 本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。 阅读详情

相关推荐

分布式定时任务(XXL-JOB)整合达梦数据库 带源码

背景 1. 因公司需要可视化管理配置调度任务,查询项目选择XXL-JOB,它是开源项目,入手很简单,详情可以参考官方文档; 2. 因项目的机密性,选择数据库为国内知名的达梦数据库7,与Java项目的整合详情可以参考SpringBoot 集成 达梦数据库 maven依赖本地jar包; 3. 因XXL-JOB暂时没有找到集成达梦数据库的案例,博主自己整合DM7踩过很多的坑,特此整合一个简单可直接...

艾斯-李的博客 3814

括号序列

括号序列 括号序列 题目描述   可怜不喜欢括号序列,但是她发现总是有人喜欢出括号序列的题。 为了让全世界都能感受到她的痛苦,她想要写一个转换器:它能把普通的小写字符串转换成长度相同的合法的括号序列。 在可怜的构思中,这样的转换器需要满足如下两个条件:   1.结果的括号序列必须要是合法的,即左右括号必...

liankewei的博客 665

Amber实战:小分子配体MD模拟全流程避坑指南(附磷酸基团处理技巧)

本文提供了一份基于Amber软件进行小分子配体分子动力学模拟的实战避坑指南。详细解析了从晶体结构预处理、配体参数化(重点探讨AM1-BCC与RESP电荷选择)、复合物体系构建到模拟稳定性调试的全流程。特别针对磷酸基团等特殊官能团处理中常见的模拟崩溃问题,给出了系统性的诊断与解决方案,旨在帮助研究者获得稳定可靠的模拟结果。

weixin_29237635的博客 682

【动态规划】括号序列

动态规划问题在于找到状态转移数组

qq_44579321的博客 2076

电子设计实战:用MOS管手把手搭建D触发器电路(含时序分析避坑指南)

本文详细介绍了如何使用MOS管从零开始搭建D触发器电路,重点解析了建立时间和保持时间等关键时序参数对电路稳定性的影响。通过实测波形分析和避坑指南,帮助电子工程师掌握D触发器的实际搭建技巧与优化方法,提升数字电路设计的可靠性。

x1y2z的博客 1159

从理论到实践:TRL去嵌入校准在国产矢量网络分析仪上的应用全解析

本文全面解析了TRL去嵌入校准技术在国产矢量网络分析仪上的应用实践,从核心算法到工程实现。详细介绍了TRL校准的数学原理、国产VNA的程控接口开发、校准件质量评估及测量不确定度控制策略,帮助工程师掌握高频器件测量的关键技术。

tech5的博客 1011

POJ1068模拟

Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26476   Accepted: 15500 Description Let S = s1 s2...s2n be a well-formed string of parentheses.

博学 笃志 切问 近思 360

MicroCap声学仿真介绍(三)-人耳的频率响应

这里需要注意的是,24mm我们会填为”24m”,这里的“m”是毫的意思,24m意思是24e-3,同理7.4mm我们可以填为7.4m,意思是7.4e-3。MicroCap声学库中,已内置“声源”模块和“管”模块,我们需要调用这两个模块,并用连接线将这两个模块连接到一起,完成仿真工作。上图中第一个图是在管的一端输入1Pa(94dBSPL)的信号,管的另一端的不同频率的声压大小的仿真结果。上述的结果跟我们的常识也是符合的。换言之,我们要仿真的目的是在管的一端加1pa的声压时,管的另一端不同频率下的声压分布。

山无忧的博客 1471

POJ 1068 括号匹配问题

Description Let S = s1 s2...s2n be a well-formed string of parentheses. S can be encoded in two different ways: q By an integer sequence P = p1 p2...pn where pi is the number of left parentheses befo...

Ven 558

自适应滤波器在噪声消除中的应用:系统设计与实现

本文设计并实现了一种基于LMS算法的自适应噪声消除系统,能够有效消除周期性背景噪声,提升信噪比10dB以上。系统采用模块化设计,包含音频输入、自适应滤波、信号分析和可视化等核心模块,支持实时处理与参数动态调整。通过Python实现,提供图形界面进行参数设置、频谱对比和音频播放功能,为语音增强提供了一种实用解决方案。

huanghm88的专栏 128

chromium通信系统-ipcz系统(二)-ipcz系统代码实现-同Node通信

在chromium通信系统-mojo系统(一)-ipcz系统基本概念一文中我们介绍了ipcz的基本概念。 本章我们来通过代码分析它的实现。 handle系统 为了不对上层api暴露太多细节,实现解耦,也方便于传输,ipcz系统使用handle表示一个对象,handle类似于文件描述符,用IpczHandle类型表示ipcz系统内的一个对象。一个可以用IpczHandle 句柄表示的对象必须是APIObject子类。APIObject数据结构如下 class APIObject : public RefCou

woai110120130的专栏 1775

POJ1068 Parencodings

POJ1068 Parencodings题意描述输入输出Sample InputSample Output思路提交代码 题意 描述 用两种编码模式描述正确的括号字符串S: P = p1 p2…pn 其中 pi 是 S中第 i 个右括号之前的左括号数。 W = w1 w2…wn 其中wi是 S中第 i 个右括号和与其相匹配的左括号之间的右括号数(包含i,所以最少为 1)。本题要求要将输入的P序列转换为W序列。 输入 输入的第一行包含一个整数 t (1 <= t <= 10),即测试用例的数量,

wjqaea的博客 322

RH850从0搭建Autosar开发环境【2】- Davinci Configurator配置工程导入DBC与CDD文件

Davinci Configurator配置工程导入DBC与CDD文件,开始Autosar开发

weixin_42412049的博客 8149

POJ1068 Parencodings(模拟)

题目链接:http://poj.org/problem?id=1068 解题思路:

piaocoder 480

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

POJ 刷题系列:1068. Parencodings

POJ 刷题系列:1068. Parencodings传送门:1068. Parencodings题意: 给出一组P-Sequence,每个数代表当前右括号之前的所有左括号数,求W-Sequence,表示当前右括号与它对应的左括号之间的左括号数。还是看例子吧: 思路: 抓住两点,对应于P-Sequence,对于每个右括号i,插入的左括号数为p[i] - p[i - 1]。对于W-Seq

Demon-初来驾到 504

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

poj 1068 Parencodings(模拟)

题目链接:POJ 1068-Parencodings 题目大意:对与一个全为括号的序列,定义两种表示方法,P-sequence,表示第i个右括号左边有几个左括号。W-sequence表示第i个右括号与它左边的第j个左括号配对,现在给出P-sequence,求W-sequence。 解题思路:简单的模拟,因为总数不会大于20,所以不用考虑的太复杂。 #include

不慌不忙、不急不躁 1151

POJ 1068 Parencodings 模拟-括号匹配

此题简单。 题目:http://www.acmerblog.com/POJ-1068-Parencodings-blog-254.html 代码如下: #include using namespace std; int len = 20; int Ps[20]; int Ws[20]; bool leftParenFlag[20] = { false }; void main() {

i-Blue的专栏 445

POJ1068——Parencodings

POJ1068——模拟 /* *********************************************************** 算法原理: S是一串匹配正确的括号对;P、W都是以右括号出现的地方为计算点 P序列 是 此右括号 之前的 总的左括号数; W序列 是 与此右括号匹配的左括号 的 距离; *****************************

zykimmy的博客 585

POJ1068-Parencodings

最近正在从最基础的知识学起,首当其冲的是枚举和模拟 这是一道非常简单的模拟问题 正如书上说的,模拟题一般都不难,但是耗时间,只要有时间就能过 比赛时也不要一上来就模拟,因为太费时间,可以放到后面做这是POJ1068 一道字符串的问题,一开始读题还挺困难的,理解了好长时间的英文,理解之后就简单了 原题:http://poj.org/problem?id=1068 P序列:第i个数字表示第i

victordiao的博客 457

【POJ 1068】Parencodings

【POJ 1068】Parencodings

ACMer' 678

poj1068Parencodings

http://poj.org/problem?id=1068 1.利用P-sequence里的数值,还原出括号串S。 2.从左往右遍历括号串S,遇到右括号停止,设置计数器。指针回退,遇到左括号不管有没有匹配过,都要 计数器+1,直到遇到左括号没有匹配过停止。新匹配的左括号处置新的特殊字符,标记为访问过,为下一次 指针回退做准备。 #include char S[25]; int

ViolentLittleAngel的博客 447
上一篇: Poj_1005_I Think I Need A HouseBoat
下一篇: Poj_1011_Sticks(剪枝)
TaiSung
博客等级 码龄15年 49粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值