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 阅读详情

题目链接

思路:

  • 又是一道一题啦,看似比较复杂还是没什么难的,一步步写出来就行了。
  • 我采用的方法是将 P编码 解码成括号串,再计算出 W编码 。
  • 可能重编码时候需要先想好怎么算吧,利用每段匹配括号内左右各半的性质也许v会好解一些。

另一种思路(借鉴):

  • 使用 stack<int> 。

  • 同样先解码出字符串,然后从左到右依次处理每个括号,如果是左括号则入栈 sta.push(1),右括号则 t = sta.top() ; sta.pop(),s.top() += t ; 。

  • 至于为什么这样,写两笔就懂了。要多想。

代码:

  • 第一种思路:660K 0MS
​//660K		0MS


#include <iostream>

using namespace std;

const int maxn = 28;

int p[maxn/2];
int w[maxn/2];
char parenthesis[maxn];

int main(){
	int T;cin>>T;
	while(T--){
		int n;
		cin>>n;
		int t=0;
		int lnum=0;
		for(int i=1;i<=n;i++){
			cin>>p[i];
			while(lnum < p[i]){
				parenthesis[t++] = '(';
				lnum++;
			}
			parenthesis[t++] = ')';
			int rnum = 0;
			int k;
			for(k=t-2;k>=0;k--){
				if(parenthesis[k] == '(' && !rnum)
					break;
				else if(parenthesis[k] == ')')
					rnum++;
				else if(parenthesis[k] == '(')
					rnum--;
			}
			cout<<(t - k) / 2<<' ';
		}
		cout<<endl;
	}
	return 0;
}​
  • 第二种思路:656K 0MS
​//656K		0MS


#include <iostream>
#include <stack>

using namespace std;

string str;
stack<int> sta;

int main(){
	int T;cin>>T;
	while(T--){
		str.clear();
		int n;
		int lnum = 0;
		
		cin>>n;
		while(n--){
			int p;
			cin>>p;
			while(lnum < p){
				str += '(';
				lnum++;
			}
			str += ')';
		}
		
		for(string::iterator i = str.begin() ; i != str.end() ; i++){
			if(*i == '(')
				sta.push(1);
			else{
				int t = sta.top();sta.pop();
				cout<<t<<' ';
				if(!sta.empty())
					sta.top() += t;
			}
		}
		
		cout<<endl;
	}
	return 0;
}​
工业缺陷检测深度学习方法综述 异常:点异常、 上下文异常和集群异常。点异常:又称为离群值 (outliers)[9], 描述数值上偏离正 常样本的独立数据。与异常相近的概念还包括新颖点(novelty)和分布外数据。上下文异常:同样描述数据点,其数值属于正常范围,但不符合局部上下文规律。集群异常:描述一系列相关数据的集合,集合中的每一个实例的数值在单独考察时都处于正常值域,但集 合整体的相关性特征不服从正常模式。一般的图像异常检测往往仅需区分正常与异常样本,而工业缺陷检测更关注于检测 图像中的异常像素. 阅读详情

相关推荐

国产麒麟系统下用Rider开发C#桌面应用:从环境配置到Avalonia UI实战

本文详细介绍了在国产麒麟系统上使用JetBrains Rider开发C#桌面应用的完整流程,重点讲解了Avalonia UI框架的实战应用。从环境配置、Rider安装到Avalonia项目创建和UI开发技巧,全面覆盖了在非Windows环境下进行C#开发的关键步骤和优化建议,助力开发者高效构建跨平台桌面应用。

weixin_27791839的博客 387

1068:Parencodings

栈,括号匹配 解题思路: 根据P串还原出括号串:第一个数是4,说明第一个右括号前有4个左括号;第二个数是5,说明到一个右括号后,有5-4个左括号,依次类推,还原出括号串。 用栈来匹配括号:很容易发现,中间包含多少个括号对,可以直接用左括号和右括号的下标来计算。因此,碰到左括号时,把其下标压入栈,碰到右括号时,出栈,由两个下标计算出结果。 参考:https://blog.youkuaiyun.com/xp731574722/article/details/76566171 //栈,括号匹配 #include <

weixin_49403900的博客 215

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1508

Parencodings

ParencodingsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 134    Accepted Submission(s): 89Problem DescriptionLet S = s1 s2 … s2n be a w

Rachel Zhang的专栏 2546

从零开始搭建多旋翼无人机:飞控系统配置全攻略(含IMU校准技巧)

本文详细介绍了从零开始搭建多旋翼无人机的飞控系统配置全流程,重点解析了IMU校准技巧。涵盖飞控硬件选型、IMU校准(加速度计、陀螺仪、磁力计)、GPS与罗盘集成方案、飞行模式配置策略及实战故障排查手册,帮助DIY爱好者提升无人机飞行稳定性与安全性。

beta5的博客 798

NeurIPS‘25新研究!PINN+GNN强强联手,模型精度飙升50%!

物理图神经网络研究取得重大进展!UCLA团队提出的PhysGNN架构在NeurIPS'2025上引发关注,该模型成功融合PINN的物理约束优势与GNN的图结构处理能力,解决了工程仿真中的关键瓶颈。研究显示,PhysGNN在城市热网预测中误差降低42%,电网负荷模拟的物理规则违反率下降68%。同步解析的SyncTREE模型则创新性地将RC树物理特性融入GNN,实现毫秒级IC时序分析;HSPGNN模型通过嵌入偏微分方程,显著提升多变量时间序列填补精度。

m0_73122726的博客 1022

:Parencodings

Parencodings D1075:Parencodings 时间限制: 1000ms内存限制: 65536kB 描述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 =

代码全集 637

科研生产力革命:手把手教你打造基于大模型的Research Agent(文献调研+论文写作+思路激发)

本文介绍了如何利用Research Agent(科研智能体)提升科研效率。Research Agent能自主完成文献检索、信息整合和报告生成全流程,省去50%以上的基础工作时间。文章详细讲解了搭建运行环境的方法,包括工具准备和MetaGPT配置,并提供了两种实战方案:基础版Search-O1和专业版MetaGPT Research Agent。此外,还介绍了如何为垂直领域定制Agent,以及优化检索效果、改善报告逻辑等技巧。最后列举了学术研究、行业分析、内容创作和个人学习四大应用场景,帮助用户将AI从聊天工

LXY_LOVE36的博客 267

Parencodings(简单模拟法)

链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22007#problem/A G - Parencodings Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Description

JHC23的专栏 1821

超详细!Linux 服务器 6 大核心性能测试(附自动脚本 + 结果分析秘籍)---Linux 服务器性能测试文档

本文档旨在提供 Linux 服务器的 CPU、内存和磁盘性能测试方案,包括详细的测试大纲、操作步骤以及一键化测试脚本,帮助管理员快速评估服务器性能状况。通过以上测试方案,可以全面评估 Linux 服务器的 CPU、内存和磁盘性能,为系统优化、容量规划和问题排查提供重要参考依据。使用 sysbench 进行 CPU 基准测试。使用 sysbench 测试内存读写性能。使用 fio 工具进行更全面的磁盘测试。使用 dd 命令测试磁盘顺序读写性能。使用 dd 命令测试内存读写速度。记录磁盘 IO 性能。

jundao1997的专栏 381

EMD (经验模态分解) 在 C++ 中的实现指南

EMD 是由 Norden E. Huang 等人在1998年提出的一种适用于非线性和非平稳信号的分析方法。对称性:IMF 的上下包络对称。零交叉点:IMF 的零交叉点数量与极值点数量相同或相差一个。本文详细介绍了如何在C++中实现EMD,包括理论背景、算法步骤、代码实现和优化等内容。通过丰富的代码示例和详细的解释,希望能够帮助读者掌握EMD的基本原理,并能够在实际项目中灵活应用。未来,随着信号处理技术的不断发展,EMD及其变种(如EEMD、CEEMDAN等)将继续在各个领域发挥重要作用。

qq_38334677的博客 1749

Parencodings--POJ 1068

1、题目类型:模拟题。 2、解题思路:(1)根据输入数据建立Arr[],0表示'(',1表示')';(2)搜索为Arr[]中为 1 的位置,并找到与之相匹配的 0 ,cnt表示对应的匹配间1的个数。 3、注意事项:flag[i]标示Arr[i]是否已完成匹配;flag[]注意及时清空。 4、实现方法: #include<iostream>using namespace st...

weixin_33950035的博客 159

手把手教你学pcie--内存管理和保护机制(一):MPU与其他内存管理和保护机制详解

MPU(Memory Protection Unit)是一种专门用于 ​。,这些机制通常协同工作,形成多层防御体系,兼顾安全性、性能和灵活性。

MHD0815的博客 279

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

POJ 刷题系列:1068. Parencodings

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

Demon-初来驾到 504

android 蓝牙通讯demo

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

POJ1068 Parencodings(模拟)

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

piaocoder 480

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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
上一篇: POJ 1008【Maya Calendar】
下一篇: POJ 2632【Crashing Robots】
Masker_43
博客等级 码龄8年 5粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值