問題 A: 深度學習
時間限制: 1 Sec??內存限制: 128 MB
提交: 53??解決: 42
[提交] [狀態] [討論版] [命題人:admin]
題目描述
小 A 最近在研究深度學習,他自己搭建了一個很牛逼的神經網絡,現在他手頭一共有 n 組訓練數據,一開始他會給自己的神經網絡設置一個 batch size,假設為 B (1≤B≤n) ,每次訓練他都會從手頭的 n 組訓練數據中隨機等概率選擇互不相同的 BB 組數據,然后扔到神經網絡去訓練。
然而小 A 的服務器并不是特別支持并行,所以運行時間和 B 成正比,每一次訓練都會花費 B 秒的時間。
現在小 A 發現這樣每次隨機選數據的話,從概率上講要訓練好多次才能使得每組訓練數據都被選中過。小 A 是一個煉丹的新手,他覺得只要所有訓練數據都被選中過,那么這個模型就會很牛逼,所以只要某次訓練后,如果所有訓練數據都被選中過,那么他就會停止進行訓練。
現在他想合理地設置 B ,使得訓練總時間的期望值盡可能地短,你只需要求出這個最小的期望值。
?
輸入
第一行一個正整數 n
1≤n≤40
?
輸出
輸出一個實數,表示最小的期望值,要求保留恰好兩位小數
?
樣例輸入
1
?
樣例輸出
1.00
很坑的一道水題,其實只要每次全拿就是最小的情況,不需要想太多。。。。
AC代碼
#include<cstdio>
using namespace std;
int main()
{float n;scanf("%f",&n);printf("%.2f",n);return 0;
}
?