10 18T5水題刷自信

2022-05-01 18:33:10 字數 1138 閱讀 6660

最長匹配3526

【問題描述】

對乙個由(,),[,],括號組成的字串,求出其中最長的括號匹配子串。具體來說,滿足如下條件的字串成為括號匹配的字串:

1.(),是括號匹配的字串。

2.若a是括號匹配的串,則(a),[a]是括號匹配的字串。

3.若a,b是括號匹配的字串,則ab也是括號匹配的字串。

例如:(),,(),()()都是括號匹配的字串,而][,[(]),(]則不是。

字串a的字串是指由a中連續若干個字元組成的字串。

例如,a,b,c,abc,cab,abcabc都是abcabc的子串。空串是任何字串的子串。

【輸入】

輸入一行,為乙個僅由()組成的非空字串。

【輸出】

輸出也僅有一行,為最長的括號匹配子串。若有相同長度的子串,輸出位置靠前的子串。

【樣例輸入1】

【樣例輸出1】

【樣例輸入2】

【樣例輸出2】

【資料範圍】

對於20%的資料,字串長度≤100。

對於50%的資料,字串長度≤10,000。

對於100%的資料,字串長度≤1,000,000。

棧模擬code:

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;

8char ch[1000050];9

intn;

10int

st,ed;

11int

top,i;

12int sta[10000050

];13

intmain()

21if(ch[i]=='

('||ch[i]=='

[') sta[++top]=i;

22if(ch[i]==')'

)26if(ch[i]==']'

)30 i++;31}

32if(n-sta[top]-2>ed-st)

33if(ed-st>0)37

return0;

38 }

over

水題系列 5

水題系列1 prev 54 合根植物 想法 一道非常簡單的並查集,完完全全水題,但是也得需要一些並查集的基本理解 include includeusing namespace std mapmm int book 10000100 int n,m,sum,x,y,num 0 int fun int ...

計蒜客T1543 做水題

蒜頭君今天需要做一些水題讓自己快樂。但是蒜頭君現在時間不多啦,所以只能做一道題。蒜頭君知道每道題需要花費的時間和完成後的快樂度。他希望做單位時間內取得快樂度最多的那一道題。如果有快樂度相同的,他希望做題號較小的那一道。輸入格式 第一行乙個數 n,為題目個數。1 n 106 接下來 n 行每一行兩個數...

踩坑水題 0和5

小c手中有n張牌,每張牌上有乙個一位數的數,這個數字不是0就是5。小c從這些牌在抽出任意張 不能抽0張 排成一行就組成了乙個數。使得這個數盡可能大,而且可以被90整除。注意 1.這個數沒有前導0,2.小c不需要使用所有的牌。每個測試資料輸入共2行。第一行給出乙個n,表示n張牌。1 n 1000 第二...