單詞記憶方法

2021-10-14 15:58:42 字數 1291 閱讀 6732

題目描述

牛牛考完了四六級,準備分享一下自己的英語學習方法。

牛牛:學習英語最重要的就是背單詞,如果你能把所有的單詞都記住,那麼你的英語就能變成天下第一。

然而牛牛的記憶方法就是把單詞的每個字母轉換成數字,把a看成1,b看成2,c看成3{}a看成1,b看成2,c看成3,依次類推,然後計算出來這個單詞每個字母的和。從此每次想到這個單詞,就要先想到這個單詞的和,然後想辦法湊出這個和。

不久後,牛牛又對自己的記憶方法進行了更新,可以把重複的連續字母進行合併,

比如把abcabc寫成(abc)2,hhhh寫成(h2)2或者h4{}abcabc寫成(abc)2,hhhh寫成(h2)2或者h4,這樣計算和的時候只需要用裡面的和乘個數就可以了,更加方便。(但是有時候牛牛由於老花眼沒有發現幾個相同的連續字母是重複的,所以導致他沒進行合併)

現在到了牛牛考驗你的時間了,牛牛告訴你乙個單詞,這個單詞可能很長甚至你從來沒見過,但牛牛要你按他的方法算出這個單詞的和。

輸入描述:

輸入僅有一行,表示牛牛給你的這個單詞s{}輸入僅有一行,表示牛牛給你的這個單詞s

|s|<=10^5∣s∣<=10

5s中只包含大寫字母,左右括號以及數字,不包含其他字元{}s中只包含大寫字母,左右括號以及數字,不包含其他字元

輸出描述:

輸出一行,表示這個單詞的和{}輸出一行,表示這個單詞的和

保證這個和不大於10^保證這個和不大於10

14示例1

輸入複製

(a2b2)2

輸出複製

12備註:

括號可能會巢狀出現

括號或者字母後面的數字也可能不止一位數,也可能沒有數字,沒有數字就表示為出現1次,但是這個數不可能為0

#include

using

namespace std;

const

int n =

1e5+

100;

#define ll long long

int pos[n]

,st[n]

,top,n;

char ch[n]

;ll solve

(int l,

int r)

else

else tot +

= ch[i]

-'a'+1

,i++;}

}return tot;

}int

main()

} cout <<

solve(1

,n)<< endl;

}

單詞記憶方法

單詞記憶方法 我看到這個問題,第一反應用棧,但是不太熟練,所以寫篇部落格!先來個模擬方法,參考別人的,真不錯!部落格鏈結 include using namespace std typedef long long ll const int mod 1e9 7 intmain else if a i ...

單詞記憶方法 詞根詞綴記憶法

筆記摘自 在北京聽英語講座的感悟 詞根詞綴記憶法,這是最有效率和效果的記憶方法。使用這種方法可以達到舉一反三,四兩撥千金的作用。可以在較短的時間內,記住大量的詞彙。為什麼會這樣呢?這就需要從英語發展的歷史來分析。在追溯英語的歷史發展時,我們通常將它分為三個時期 1 古英語 old english 從...

基礎演算法題 單詞記憶方法(棧)

題目鏈結 對於這些左右括號的問題,很直接能夠想到用棧來解決。解題思路 s i 移動 tp 棧頂指標,準備將新元素壓入棧頂。if s i s i a s i z 壓棧。在字母後面可能跟著數字,所以從 i 1 開始求出其後的數字,最終結果為數字與字元對應的數值相乘。else if s i a s i z...