日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 3885. 【长郡NOIP2014模拟10.22】搞笑的代码

發(fā)布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 3885. 【长郡NOIP2014模拟10.22】搞笑的代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Description

在OI界存在著一位傳奇選手——QQ,他總是以風(fēng)格迥異的搞笑代碼受世人圍觀
某次某道題目的輸入是一個排列,他使用了以下偽代碼來生成數(shù)據(jù)
while 序列長度< n do
{
隨機生成一個整數(shù)屬亍[1,n]
如果這個數(shù)沒有出現(xiàn)過則加入序列尾
}
聰明的同學(xué)一定發(fā)現(xiàn)了,這樣生成數(shù)據(jù)是徆慢的,那么請你告訴QQ,生成一個n排列的期望隨機次數(shù)

Input

一個正整數(shù)n,表示需要生成一個n排列

Output

一個數(shù)表示期望隨機次數(shù),保留整數(shù)

Sample Input

4

Sample Output

8(.333333…)

【友情提示】

輸出樣例的括號里表示答案的小數(shù)部分,但實際丌要求輸出
數(shù)學(xué)期望=sigma(概率* 權(quán)值),本題中為期望隨機次數(shù)=sigma(概率*隨機次數(shù))

Data Constraint

30%數(shù)據(jù)滿足 n3
80%數(shù)據(jù)滿足 n107
100%數(shù)據(jù)滿足 n231

Solution

  • 這題是經(jīng)典的概率期望題。

  • 定義 fi 表示 序列長度為 i 時的期望隨機次數(shù),不難根據(jù)題目的定義列出遞推式:fi=in?(fi+1)+n?in?(fi?1+1)

  • 解得:

    fi=fi?1+nn?i

  • 所以答案就是:

    i=1nni

  • 但然而數(shù)據(jù)范圍很大,單純的 O(N) 處理是會超時的。

  • 于是兩個“高深”的算法便橫空出世了!

    • 打表!!!——每隔 107 打一個數(shù),暴力處理!~
    • 運用 歐拉常數(shù)調(diào)和級數(shù) 處理,在 N 很大時誤差極小;

    • 之后在 N107 時同樣暴力處理即可。

    • 具體公式為:

      Ans=logeN?Euler?N

Code

#include<cstdio> #include<cmath> using namespace std; const double Euler=0.57721566490153286060651209; int n; double ans; int main() {scanf("%d",&n);if(n>1e7) ans=log(n)+Euler; elsefor(int i=1;i<=n;i++) ans+=1.0/i;printf("%.0lf",n*ans); }

總結(jié)

以上是生活随笔為你收集整理的JZOJ 3885. 【长郡NOIP2014模拟10.22】搞笑的代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。