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.pswp.cn/news/453582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453582.shtml
英文地址,請注明出處:http://en.pswp.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…