托公尺的簡單表示法 (dfs)

2021-08-20 10:41:45 字數 1479 閱讀 3730

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 524288k,其他語言1048576k

64bit io format: %lld

作為故事主角的托公尺是一名老師。

一天,他正在為解析算術表示式的課程準備課件。 在課程的第一部分,他只想專注於解析括號。 他為他的學生發明了乙個有趣的正確括號序列的幾何表示,如下圖所示:

幾何表示的定義:

1.對於乙個括號序列a,我們定義g(a)是a的幾何表示形式,則"()"的表示是乙個1*1的方塊,高度為1;

2.對於乙個括號序列a,"(a)"的表示是由乙個比g(a)寬2個單位高1個單位的矩形包圍g(a),它的高度為a+1;

3.對於兩個括號序列a和b,a+b的幾何表示形式為把g(b)放置在g(a)右邊的乙個單位,且高度為a和b的高度的較大值。

其中+指的是字串的連線符。

現在給你乙個合法的括號序列。 請計算顏色為黑色的區域的面積。

輸入的第一行包含乙個整數t,表示指定測試用例的數量。

每個測試用例前面都有乙個空白行。

每個測試用例由乙個合法括號序列組成。 每行只包含字元'('和')'。

對於每個測試用例,輸出一行包含乙個整數,表示相應幾何表示的黑色部分的面積。
示例1

複製

2

((()))

(())(()(()))

複製

10

20

解題思路:知道是搜尋,就是不知道怎麼寫,直接貼乙個題解吧。

托公尺的簡單表示法

托公尺的簡單表示法 題目描述 作為故事主角的托公尺是一名老師。一天,他正在為解析算術表示式的課程準備課件。在課程的第一部分,他只想專注於解析括號。他為他的學生發明了乙個有趣的正確括號序列的幾何表示,如下圖所示 幾何表示的定義 1.對於乙個括號序列a,我們定義g a 是a的幾何表示形式,則 的表示是乙...

nowcoder16450 托公尺的簡單表示法

題目鏈結 仔細理解一下題意可以發現。對於每個完整的括號序列都是獨立的,然後就想到分治。高度是序列中所有括號序列的最大值,寬度是所有括號序列寬度和 1 然後仔細想了一下,這種分治應該是可以被卡成 n 2 的。題解就比較厲害了。其實基本思想和分治相似。建立一棵樹的模型。每到乙個左括號就給當前節點新增乙個...

托公尺的遊戲

題目 托公尺有一棵有根樹t tt,樹根為1 11,每輪他會在剩下的子樹中等概率乙個點 u uu,砍掉u uu的子樹 包含u uu 如果樹上的點都被砍光了,遊戲結束.求出這個遊戲進行的期望輪數,可以證明這個數一定是有理數,設他為 a b frac ba 你需要告訴他乙個整數x xx滿足 x b a m...