HihoCoder 1671 DFS

本以为是个简单的水题,好吧,其实就是个水题,虽然我还是……

题意的理解上有一点小小的问题orz,这里的括号里的字母是可以看成一个整体的,可以看作一个字母来进行反转,

比如说,(abc(de)),反转后应该是((de)cba),所以左边找括号右边找括号+反转/不反转括号内的数,O(n)的那种想法是不可行的

(怎么感觉可能也就我这么zz发现不了不可行了……)

这里正确的解法是DFS+括号匹配,直接贴代码吧,不是什么特别难以理解的问题

#include<bits/stdc++.h>
using namespace std;
const int MAX=5e6+5;
string s;
int pos[MAX],L[MAX],R[MAX];
void dfs(int l,int r,int flag)
{if(!flag)  //第偶数个括号内,不反转,正向输出
    {for(int i=l;i<=r;i++){if(s[i]!='(')cout<<s[i];else  //碰到第奇数个括号,更新输出区间范围为下一个括号内的字符串位置{dfs(i+1,R[i]-1,1);i=R[i];}}}else   //第奇数个括号内,反转,逆向输出
    {for(int i=r;i>=l;i--){if(s[i]!=')')cout<<s[i];else  //碰到第偶数个括号{dfs(L[i]+1,i-1,0);i=L[i];}}}
}
int main()
{cin>>s;int cnt=0;for(int i=0;i<s.length();i++){if(s[i]=='(')pos[++cnt]=i;   //用一个栈来记录括号的位置else if(s[i]==')'){R[pos[cnt]]=i;   //对左右括号的位置进行匹配L[i]=pos[cnt--];}}dfs(0,s.length()-1,0);return 0;
}

 

转载于:https://www.cnblogs.com/Egoist-/p/8361526.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

avs 中国音视频标准DRA 中音频标准及应用

DRA 是Digital Rise Audio的缩写。是广州广晟数码技术有限公司&#xff08;Digital Rise Technology)开发的一项数字音频编码技术&#xff0c;目前是音频编码的国家标准。2007年1月被批准成为中国电子行业标准&#xff08;标准号SJ/T11368-2006&#xff09;。DRA音频标准可应用…

UWP数据绑定

已针对 Windows 10 上的 UWP 应用更新。 有关 Windows 8.x 文章&#xff0c;请参阅存档 ] 数据绑定是你的应用 UI 用来显示数据的一种方法&#xff0c;可以选择与该数据保持同步。 借助数据绑定&#xff0c;你可以将关注的数据从关注的 UI 中分离开来&#xff0c;从而可形成一个…

资源链接

http://cn.epubee.com/ 电子书 http://www.feemic.cn/mooc_search/1002384010 中国大学mooc视频下载 http://www.icourse163.org 中国大学mooc http://www.xuetangx.com 学堂在线 http://yun.java1234.com/ 视频搜索 http://www.52studyit.com/转载于:https://www.cnblogs.co…

最大开源代码sourceforge 简介 及视音频方面常用的开源代码

所有的音视频凯源代码在这里&#xff1a;http://sourceforge.net/directory/audio-video/os:windows/&#xff0c;你可以下载分析&#xff0c;视频不懂请发邮件给我&#xff0c;帮你分析。 0.视频项目 0.1 VLC media player VLC 多媒体播放器&#xff08;最初为VideoLAN Clien…

[转]被当做狗和鸡来驱赶的百姓

原文链接&#xff1a;知乎 杜甫写过许多好诗。 好诗&#xff0c;不一定是辞藻美、场面好、色色入画。 不一定是吴楚东南坼&#xff0c;乾坤日夜浮。不一定是五更鼓角声悲壮&#xff0c;三峡星河影动摇。 不一定是星垂平野阔&#xff0c;月涌大江流。不一定是细雨鱼儿出&#xf…

背包问题(动态规划)

本篇文章作为个人的背包问题学习资料&#xff0c;来自转载 dd大牛的《背包九讲》. P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i]&#xff0c;价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量&#xff0c;且价值总和最大…

notepad编译java_Notepad++直接编译运行java代码的具体步骤

最近不少朋友表示还不会Notepad直接编译运行java代码的操作步骤&#xff0c;使用下面小编就带来了Notepad直接编译运行java代码的操作方法哦&#xff0c;一起去看看吧。Notepad直接编译运行java代码的具体步骤下载Notepad&#xff0c;找到Plugin Manager。插件--->Plugin Ma…

基于linux 的2048

于 debian 接着写 2048, 的影响&#xff0c;如下面的&#xff1a; 感兴趣的朋友能够在这里&#xff08;http://download.csdn.net/download/kamsau/7330933&#xff09;下载。 版权声明&#xff1a;本文博客原创文章&#xff0c;博客&#xff0c;未经同意&#xff0c;不得转载。…

架构师之路

1. 架构师之路(1)---面向过程和面向对象 1、引言 机算机科学是一门应用科学&#xff0c;它的知识体系是典型的倒三角结构&#xff0c;所用的基础知识并不多&#xff0c;只是随着应用领域和方向的不同&#xff0c;产生了很多的分支&#xff0c;所以说编程并不是一件很困难的…

r语言做断轴_R语言用nls做非线性回归以及函数模型的参数估计

非线性回归是在对变量的非线性关系有一定认识前提下&#xff0c;对非线性函数的参数进行最优化的过程&#xff0c;最优化后的参数会使得模型的RSS(残差平方和)达到最小。在R语言中最为常用的非线性回归建模函数是nls&#xff0c;下面以car包中的USPop数据集为例来讲解其用法。数…

day8-异常处理与网络编程

第1章 异常处理 1.1 什么是异常? 1.1.1 描述 #1 什么是异常&#xff1f; # 异常是错误发生的信号&#xff0c;一旦程序出错&#xff0c;就会产生一个异常&#xff0c;应用程序未处理该异常&#xff0c; # 异常便会抛出&#xff0c;程序随之终止 异常就是程序运行时发生错误的信…

常用数据结构的一部分类

VECTORvector是可以实现自动增长的对象数组。java.util.vector提供了向量类&#xff08;vector&#xff09;来实现向量数组的功能。在C和C中可以使用指针来实现动态数组&#xff0c;java通过提供大量的类库来弥补这个功能。向量类的对象 可以向其中随意插入不同类的对象&#x…

进程(并发,并行) join start 进程池 (同步异步)

一、背景知识 顾名思义&#xff0c;进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统&#xff0c;是操作系统最核心的概念&#xff0c;也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的…

面对职业诱惑,我们如何作出理性的选择?

版权声明&#xff1a;原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址&#xff1a;http://blog.csdn.net/jobchanceleo/archive/2007/07/08/1682484.aspx 分享一个发生在我们身边的案例&a…

xamarin怎么调用java的_XamarinSQLite教程在Xamarin.Android项目中使用数据库

XamarinSQLite教程在Xamarin.Android项目中使用数据库在Xamarin.Android项目中使用预设数据库的具体操作步骤如下&#xff1a;(1)创建一个Xamarin.Android项目&#xff0c;如AndroidSQLiteDemo。(2)在AndroidSQLiteDemo项目的Resources文件夹下创建一个Raw文件夹。(3)将上一节中…

Selector的一些state使用

(一)Selector的基本状态android:state_selected 控件选中状态&#xff0c;可以为true或falseandroid:state_focused 控件获得焦点状态&#xff0c;可以为true或falseandroid:state_pressed 控件点击状态&#xff0c;可以为true或falseandroid:state_enabled 控件使能状态&#…

服务框架及服务治理组件——业界调研

声明&#xff1a;主要内容来自公司内部 对业界的调研,不一定恰当、准确、实时。 表格文字较多&#xff0c;APP阅读体验较差 团队服务相关组件\方案通信框架监控负载均衡\路由是否开源腾讯完全自研&#xff1b;BG内部自治&#xff0c;每个BG有自己相应的解决方案&#xff0c;单独…

在操作系统重启后恢复应用程序的工作状态

Windows 10 创意者更新之后&#xff0c;默认开启了重启后恢复应用程序状态的功能。这是自 Vista 以来就提供的功能——Restart Manager。 应用程序实现这一功能只需要调用 RegisterApplicationRestart 即可。传入两个参数&#xff1a; 重启后使用的命令行参数&#xff08;例如当…

裁员感悟

好员工&#xff0c;别以为裁员与你无关(上) 版权声明&#xff1a;原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址&#xff1a;http://blog.csdn.net/jobchanceleo/archive/2007/05/26/…

php传中文给Java_完美解决PHP中文乱码(转) - - JavaEye技术网站

PHP中文乱码一般是字符集问题&#xff0c;编码主要有下面几个问题。一&#xff0e;首先是PHP网页的编码1.文件本身的编码与网页的编码应匹配a.如果欲使用gb2312编码&#xff0c;那么php要输出头&#xff1a;header(“Content-Type: text/html; charsetgb2312")&#xff0c…