BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 分块
生活随笔
收集整理的這篇文章主要介紹了
BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 分块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分塊大法好
2038: [2009國家集訓隊]小Z的襪子(hose)
Time Limit:?20 Sec??Memory Limit:?259 MBSubmit:?2938??Solved:?1303
[Submit][Status]
Description
作為一個生活散漫的人,小Z每天早上都要耗費非常久從一堆五顏六色的襪子中找出一雙來穿。最終有一天,小Z再也無法忍受這惱人的找襪子過程,于是他決定聽天由命……
詳細來說,小Z把這N僅僅襪子從1到N編號,然后從編號L到R(L?雖然小Z并不在意兩僅僅襪子是不是完整的一雙,甚至不在意兩僅僅襪子是否一左一右,他卻非常在意襪子的顏色,畢竟穿兩僅僅不同色的襪子會非常尷尬。
你的任務便是告訴小Z,他有多大的概率抽到兩僅僅顏色同樣的襪子。當然,小Z希望這個概率盡量高,所以他可能會詢問多個(L,R)以方便自己選擇。
Input
輸入文件第一行包括兩個正整數N和M。N為襪子的數量,M為小Z所提的詢問的數量。接下來一行包括N個正整數Ci,當中Ci表示第i僅僅襪子的顏色,同樣的顏色用同樣的數字表示。再接下來M行,每行兩個正整數L,R表示一個詢問。
Output
包括M行,對于每一個詢問在一行中輸出分數A/B表示從該詢問的區間[L,R]中隨機抽出兩僅僅襪子顏色同樣的概率。若該概率為0則輸出0/1,否則輸出的A/B必須為最簡分數。(詳見例子)
Sample Input
6 41 2 3 3 3 2
2 6
1 3
3 5
1 6
Sample Output
2/50/1
1/1
4/15
【例子解釋】
詢問1:共C(5,2)=10種可能,當中抽出兩個2有1種可能,抽出兩個3有3種可能,概率為(1+3)/10=4/10=2/5。
詢問2:共C(3,2)=3種可能,無法抽到顏色同樣的襪子,概率為0/3=0/1。
詢問3:共C(3,2)=3種可能,均為抽出兩個3,概率為3/3=1/1。
注:上述C(a, b)表示組合數,組合數C(a, b)等價于在a個不同的物品中選取b個的選取方案數。
【數據規模和約定】
30%的數據中 N,M ≤ 5000;
60%的數據中 N,M ≤ 25000;
100%的數據中 N,M ≤ 50000,1 ≤ L < R ≤ N,Ci ≤ N。
HINT
Source
版權全部者:莫濤
[Submit][Status]轉載于:https://www.cnblogs.com/zfyouxi/p/4320799.html
總結
以上是生活随笔為你收集整理的BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 分块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传统节日之殇
- 下一篇: 【转】MySQL分库分表环境下全局ID生