托公尺的字串

2021-10-02 08:47:34 字數 944 閱讀 4655

題目描述

托公尺有乙個字串,他經常拿出來玩。這天在英語課上,他學習了母音字母a,e,i,o,u以及半母音 y。「這些字母是非常重要的!」,托公尺這樣想著,「那麼我如果隨機取乙個子串,裡面母音佔比期望會有多大呢?」

於是,請你求出對於托公尺的字串,隨機取乙個子串,母音(a,e,i,o,u,y)字母佔子串長度比的期望是多少。

輸入描述:

讀入乙個長度不超過 10^610

6的只包含小寫字母的字串,即托公尺的字串。

輸出描述:

輸出所求的期望值,要求相對(絕對)誤差不超過 10^10−6。

示例1輸入

複製legilimens

輸出複製

0.446746032

一般這種全區間的解,有幾種做法。單獨元素算貢獻,列舉某個點結尾或開始的總貢獻,列舉區間長度貢獻。

這道題就是列舉區間長度的貢獻值。

我們令 f[i] 為區間長度為i的總母音個數。

怎麼計算呢?

我們可以從長度為1開始想:長度為1就是所有母音的個數。

長度為2的時候:區間[2,n-1]的母音貢獻了兩次,所以我們就找到了遞推式。

ac**:

#pragma gcc optimize("-ofast","-funroll-all-loops")

#include

#define int long long

using namespace std;

const

int n=

1e6+10;

int vis[

200]

,n,sum[n]

,f[n]

;char str[n]

;long

double res;

signed

main()

托公尺的遊戲

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

E 托公尺的飲料

題目鏈結 可愛的小托公尺得到了n瓶飲料.但他不小心把開蓋的工具弄丟了,所以他只能利用飲料瓶來開蓋.已知第i個瓶子的品牌為ai,且其能開啟bi品牌的瓶子.問有幾瓶飲料托公尺無法喝到.被用於開啟飲料瓶的瓶子不一定需要被開啟.乙個瓶子不能開啟其本身.輸入描述 第一行乙個整數n,表示飲料的瓶數.接下來n行,...

托公尺的簡單表示法

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