題意:
給出乙個串,串內只有大括號,問經過幾次改變可使全部括號合法?改變指的是可以將某一方向的括號變成另一方向。
思路:利用棧的特點,若出現成對的合法括號,直接刪掉,留下那些不合法的成為一串。既然不合法,那麼必須改變,既然要改變,至少得1次吧?那就是使兩個非法括號(這裡指的是兩個一半的括號,即左左,右右,右左)成為合法至少需要一次改變,那好!總共需要幾次改變?就看剩下來的那些不合法的括號有多少半了,非法的也肯定是偶數個的。
留下的可能存在3種情況:
1、右括號在前,左括號在後。例如:}}}}
19else
2026
else
2731}32
}33if(left%2==0) return ((left>>1) + (right>>1
));34
else
return ((left>>1) + (right>>1) +2
);35}36
37int
main()
3845
return0;
46 }
3351
3351變送器的優點及技術引數
3351變送器技術引數 使用物件 液體 氣體和蒸汽 測量範圍 0 100pa 40mpa 輸出訊號 4 20ma 供電電源 12 45v dc,一般為24v dc 負載特性 負載阻抗rl與電源電壓vs的關係式為 rl 50 vs 12 指 示 表 指標式線性指示以0 100 刻度和平方根指示0 10...
hdu1285 hdu4857 拓撲排序
一 原題內容 problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在...
樹狀陣列 hdu2689 hdu2838
題意 給定乙個正整數n,和乙個1 n的乙個排列,每個數可以和旁邊的兩個數的任意乙個交換,每交換一次總次數就要加一,問將這個排列轉換成乙個遞增的排列需要多少次交換?題意可以轉換成求這個排列的逆序對數。include include include include using namespace std...