【HDU 6410】序列期望 【期望 + 數學】
Problem Description
“看似隨機,實則早已註定”——光羽
度度熊有n個隨機變數。給定區間,變數的值會等概率成為區間中的任意一個整數。
顯然這n個隨機變數的值會有一共 種情況,且每種情況出現的概率為
對於某種情況,令,定義這種情況的權值為:
度度熊想知道權值的期望是多少?請將答案對109+7取模後輸出。
PS:不清楚期望是啥?為什麼不問問神奇的百度呢?
Input
第一行一個數,表示資料組數T。
每組資料第一行一個整數n;接下來n行,每行兩個數,表示li和ri。
資料組數T=100,滿足:
其中70%的資料滿足ri≤100。
Output
每組資料輸出一行,每行僅包含一個數,表示期望。
假設答案為pq,請輸出p×q−1 mod 109+7,此處q−1為q的逆元。
Sample Input
2
3
2 5
2 4
2 5
3
1 1
2 3
1 1
Sample Output
875000012
500000010
Hint
第二組資料的解釋:序列只有兩種情況(1,2,1)和(1,3,1),權值分別為2*1*2=4和3*1*3=9,答案為(4+9)/2,在模域下為500000010。
分析: 因為是要求期望,所以是每一種情況概率乘相對應的權值,求和就行了。然後我們可以發現每一種情況的概率都是一樣的,所以我們只需要算出所有情況的總權值之和就行了。但是如果按照題意給的公式求解,時間肯定爆炸,所以我們要優化這個公式,我們可以列舉h,對於同一個h來說 這個公式可以計算出包含最大值為h的所有情況,但是我們想要的是最大值為h的總權值,所以我們可以減掉小於h的那部分就可以了。
優化後的公式還是蠻不好想的,所以我抽象出來了一個簡單的問題,把這個搞懂了,應該就可以理解上面的公式:
3 種物體,每種物體有3個(每個物體都有自己獨特的權值),你每次必須要從一種物體裡面挑選一個, 這樣會有3*3*3種選擇,每種選擇的權值定義為:所選的三個物體的權值之和.。現在求所有選擇的總權值之和。
最暴力的一種就是3*3*3的複雜度求解。
另外一種呢,所有情況的總權值之和為: