NOIP校內模擬 排隊

2022-05-04 09:21:08 字數 1163 閱讀 7959

【題意】

在成都某中學有 m 個男生與 n 個女生排隊,這個學校的女生比較古怪,從某個位

置(包含這個位置)開始往前數,男生的數量超過了女生的數量,女生會感覺不安全,於

是會大叫起來,為了構建和諧校園,安排隊伍時應該避免這樣的情況。請你計算出不會引

發尖叫的排隊方案的概率。(排隊方案不同定義:當且僅當某個某個位置人不一樣,如男

生a、男生b ,與男生b、男生a ,2個排列是不同方案)

【 input】

第一行1個整數, 表示測試資料的組數。

每個資料 有兩個數 n,m(n個女生,m個男生)

【 output】

對於每組資料,輸出乙個實數(保留到小數點後 6 位)

【 sample input】

31 0

0 11 1

【 sample output】

1.000000

0.000000

0.500000

聽說是乙個原題 scoi2010生成字串

如果直接用數學方法做看起來並不好做,轉換一下;

在乙個平面直角座標系中,從點(0,0)到點(n + m,n - m),

乙個女生相當於從(0,0)向(1,1)的方向走,乙個男生相當於(0,0)向(1,-1)的方向走,同時不能走到直線y = -1上

由於n個1,m個0必然要走到(n + m, n - m),求方案數,

先考慮沒有限制條件的,可以發現n個1是必須取完的一共要取n + m個數,

那麼要在n + m個數中取n個數,自然方案數就是c(n + m,n),

那麼我們怎麼求出不符合條件的方案數呢?

可以想象一下把直線y = -1上面的翻折下來,即從點(0,-2)到點(n + m, n - m)經過直線y = -1的方案數,顯而易見,肯定經過直線y=-1,

走到(n+m,n-m)需要向上走n-m+2次,一共要走n+m次。設向上向下各走x,y,那麼x+y=n+m,x-y=n-m+2得到x=n+1,y=m-1,所以不合法的方案為c(n+m,n + 1)。

然後約分 就一句話了

#includeusing namespace std;

int t;

double n,m;

int main()

return 0;

}

NOIP校內模擬 塔

我們可以這樣考慮 x 必定是由若干個立方數拼起來的 因此我們可以逆著求 只需關心每次取哪個立方數即可 設a是最大的 a 使得 a 3 不超過 m 分析樣例 我們發現在第一次的時候 就可以取a或者a 1 那第一次取a 2 a 3.行不行呢?1.用 a,剩下m a 3 2.用 a 1,x 最大為 a 3...

NOIP校內模擬 航班

描述 l因為業務繁忙,經常會到處出差。因為他是航空公司的優質客戶,於是某個航空 公司給了他乙個優惠券。他可以利用這個優惠券在任何乙個國家內的任意城市間免費旅行,當他的路線跨國 才會產生費用。l有乙個航空公司的 表與航線。而且每個城市出發都能到所有的城 市,2 個城市間可能有不止乙個航班,乙個國家內的...

NOIP校內模擬 階乘

描述 有n個正整數a i 設它們乘積為p,你可以給p乘上乙個正整數q,使pq剛好為正整數m的階乘,求m的最小值。輸入共兩行。第一行乙個正整數n。第二行n個正整數a i 輸出共一行 乙個正整數m。樣例輸入16 樣例輸出3提示 樣例解釋 當p 6,q 1時,pq 3!資料範圍與約定 對於10 的資料,n...