計蒜客 炮台實驗

2021-09-10 22:40:42 字數 655 閱讀 2844

蒜頭君在玩乙個戰爭模擬遊戲,他有高度為 1,2,3,\ldots ,n1,2,3,…,n 的炮台各乙個,他需要把這 nn個炮台從左往右排成一行,並且炮口都朝向右邊。

在這個遊戲中,所有炮台發射的炮彈會摧毀前方所有高度比自己低的炮台。每當蒜頭君把 nn個炮台排成一行後,可能會有一些炮台被摧毀。舉個例子:當前有 55 個炮台,從左到右高度分別為 2,1,3,5,42,1,3,5,4,往右發射炮彈後,高度為 44 的炮台被高度為 55 的摧毀,高度為 11 的炮台被高度為 22 的炮台摧毀,最後只會剩下 2,3,52,3,5 這三個炮台。

現在蒜頭君想知道,如果隨機地擺放這 nn 個炮台,最後剩下炮台個數的期望是多少?比如 n=2n=2 時,有兩種擺放方式,高度序列分別為 1,21,2 和 2,12,1,前者最後剩下 22 個炮台,後者最後剩下乙個炮台,因此期望為 =1.50002(2+1)​=1.5000。

請你求出 n=2019n=2019 時剩下炮台個數的期望,保留四位小數。

樣例輸入複製

樣例輸出複製

最高的炮台貢獻是1。第二高的炮台,只需要考慮它和最高的炮台位置關係,如果在前面,則留下否則掛掉,所以貢獻是1/2,同理,第三個炮台位於前2個炮台左邊或中間或右邊,貢獻為1/3.。。。

所以答案是1+1/2+1/3+.....+1/n

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...

計蒜客 郊遊

蒜頭君成為了計蒜客附屬幼兒園的一名老師,乙個陽光明媚的週末,蒜頭君帶領著小朋友們去野外郊遊。一共有 2n2n 個小朋友,正好是 n n 個男孩和 n n 個女孩。蒜頭君讓小朋友分組玩遊戲,每組乙個男孩和乙個女孩,但是有些女孩比較討厭某些男孩,不願意和他們分在一組,男孩覺得和誰分在一組都無所謂。你能告...