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

题意的理解上有一点小小的问题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

HihoCoder 1671 DFS相关推荐

  1. HihoCoder - 1846 dfs

    A - ABC HihoCoder - 1846 杂货铺老板一共有N件物品,每件物品具有ABC三种属性中的一种或多种.从杂货铺老板处购得一件物品需要支付相应的代价. 现在你需要计算出如何购买物品,可以 ...

  2. [Offer收割]编程练习赛2 hihocoder 1272 买零食 (DFS 或 dp 水题)

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...

  3. hihocoder#1041 : 国庆出游(DFS)

    #1041 : 国庆出游 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比较有特色:它共有n座城市(编号1-n):城市 ...

  4. 【HihoCoder - 1851】D级上司 (树形图,dfs)

    题干: H公司一共有N名员工,编号为1~N,其中CEO的编号是1.除了CEO之外,每名员工都恰好有唯一的直接上司:N名员工形成了一个树形结构. 我们定义X的1级上司是他的直接上司,2级上司是他上司的上 ...

  5. 【HihoCoder - 1268】九宫 (dfs,深搜)

    题干: 小Hi最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对角线的和都是相同的. 三阶幻方又被 ...

  6. DFS序+线段树 hihoCoder 1381 Little Y's Tree(树的连通块的直径和)

    题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每 ...

  7. 买零食 HihoCoder - 1272 (大爆搜DFS)

    小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个&qu ...

  8. [hihocoder] #1716 : 继承顺位(dfs深搜)

    时间限制: 10000ms 单点时限: 1000ms 内存限制: 256MB 描述 H国的国王有很多王子,这些王子各自也都有很多王孙,王孙又各自有很多后代-- 总之,H国王族的族谱形成了一棵以国王为根 ...

  9. hihocoder #1115 : 诺兹多姆(dfs爆搜)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 wuzhengkai是一个炉石传说玩家. 有一天,他碰到对面上了个诺兹多姆并上了嘲讽和圣盾. 诺兹多姆是一个有8点攻击力和8 ...

最新文章

  1. Windows XP下,JDK环境变量配置
  2. Linux学习(十二)---RPM和YUM
  3. Linux命令详解:[7]获得命令帮助
  4. docker对aufs触发的bug
  5. wxWidgets利用透明图片自定义工具条
  6. 瑞幸咖啡生,互联网咖啡生;数据死,互联网咖啡死
  7. 坑 之 Tensorflow安装在导入模块时会出现ImportError: DLL load failed: 找不到指定的模块的问题
  8. 前端学习(2306):react之组件使用之图片使用
  9. 可以生成自动文档的注释
  10. 那信息闭塞的地方 飞秋官方下载
  11. centos8 忘记root密码
  12. Intel Skylake (Server) 架构/微架构/流水线 (5) - 非时效存储
  13. 这个技能,让可视化大屏开挂一样的秀!
  14. 70个具有商业实战性的精品Android源码
  15. 复盘图像双线性插值推导细节
  16. [渝粤教育] 四川大学 营养与食品卫生学Ⅱ 参考 资料
  17. 从ghost映像.gho文件快速创建vmware虚拟机
  18. Java 下载多个文件打成zip压缩包
  19. 初中计算机ps教程,初中信息技术《Photoshop 初探——基本操作》教学设计
  20. 故障修复:mswinsck 加载失败

热门文章

  1. oracle数据库查询open_cursors值的sql语句,达梦数据库查询MAX_SESSION_STATEMENT值方法,MAX_SESSION_STATEMENT的最大值、上限是多少
  2. PyQt5 技术篇-鼠标移动控件显示提示,Qt Designer控件提示设置方法。
  3. OpenWRT 随记
  4. CTFshow php特性 web109
  5. 一个python网上文档
  6. 支持向量机ModuleNotFoundError: No module named ‘sklearn.datasets.samples_generator‘
  7. 07Oracle Database 数据表
  8. LiberOJ #6210. 「美团 CodeM 决赛」tree 树形DP
  9. 15个最佳的代码评审(Code Review)工具
  10. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志