b470: P1 隨機播放系統
標籤 : 二分搜 前綴和
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2026-03-14 00:08

內容

某音樂平台正在測試一套新的智慧隨機播放系統。

系統有一份長度為 $n$ 的播放清單,第 $i$ 首歌具有一個人氣權重 $w_i$,權重越高,歌曲被播放到的機率就越高。

為了增加多樣性,系統在每次播放時不一定會考慮整個清單,而只會從某一段區間 $(l \; , \; r)$ 的歌曲中挑選。

在這段區間內,歌曲會依照權重比例被選中。

設這段區間的總權重為 $S = \sum_{i=l}^{r} w_i$ 。

系統會產生一個隨機比例 $\frac{a}{a+b}$ 。

播放器會從左到右累積歌曲權重,當累積比例第一次不小於這個隨機比例時,就選擇該歌曲播放。

也就是說,需要找到一個位置 $k$ 滿足 $\frac{\sum_{i=l}^{k-1} w_i}{S} \le \frac{a}{a+b} \le \frac{\sum_{i=l}^{k} w_i}{S}$

請你幫系統找出會被播放的歌曲位置 $k$ 

輸入說明

第一列輸入兩數 $n,m$ 代表數列長度和詢問次數。

第二列輸入 $n$ 個 $w_i$ 代表人氣權重。

接下來 $m$ 列輸入 $l \; , \;  r \; , \;  a \; , \;  b$ 分別代表左界、右界、產生比例的值。

輸出說明

輸出符合需求的第 $k$ 項。

範例輸入
範例一:
5 1
2 3 5 4 6
1 5 1 1
------
範例二:
6 3
2 1 3 4 2 5
1 6 1 1
1 4 1 3
4 6 2 1
範例輸出
範例一:
3
------
範例二:
4
2
6
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1M
公開 測資點#1 (10%): 1.0s , <1M
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <10M
公開 測資點#8 (10%): 1.0s , <10M
公開 測資點#9 (10%): 1.0s , <10M
提示 :

$40\;\% : 1\leq  n ,  m \leq 10^{3} \; , \;  1 \leq  w_i \leq 10^{4} \; , \; 1 \leq  l  ,  r \leq n  \; , \;  1 \leq  a  , b \leq 10$

$60\;\% : 1\leq  n  , m \leq 10^{5} \; , \;  1 \leq  w_i \leq 10^{4} \; , \; 1 \leq  l  , r \leq n  \; , \;  1 \leq  a  , b \leq 10$

 

範例一:

區間總和 $= \sum_{i=l}^{r} w_i = 20$ ,比例 $= \frac{a}{a+b} = \frac{1}{2}$ ,門檻 $= 20 \times \frac{1}{2} = 10$ 。

累計權重 $= 2 \; , \; 5 \; , \; 10 \; , \; 14 \; , \; 20$ 。

因為 $ 5\leq  10 \leq 10$ ,所以 $ k = 3$ 。

------

範例二:

$query \; 1:$

區間總和 $= \sum_{i=l}^{r} w_i = 17$ ,比例 $= \frac{a}{a+b} = \frac{1}{2}$ ,門檻 $= 17 \times \frac{1}{2} = 8.5$ 。

累計權重 $= 2 \; , \; 3 \; , \; 6 \; , \; 10 \; , \; 12 \; , \; 17$ 。

因為 $ 6\leq  8.5 \leq 10$ ,所以 $ k = 4$ 。

$query \; 2:$

區間總和 $= \sum_{i=l}^{r} w_i = 10$ ,比例 $= \frac{a}{a+b} = \frac{1}{4}$ ,門檻 $= 10 \times \frac{1}{4} = 2.5$ 。

累計權重 $= 2 \; , \; 3 \; , \; 6 \; , \; 10$ 。

因為 $ 2\leq  2.5 \leq 3$ ,所以 $ k = 2$ 。

$query \; 3:$

區間總和 $= \sum_{i=l}^{r} w_i = 11$ ,比例 $= \frac{a}{a+b} = \frac{2}{3}$ ,門檻 $= 10 \times \frac{2}{3} \approx 7.33$ 。

累計權重 $= 4 \; , \; 6 \; , \; 11$ 。

因為 $ 4\leq  7.33 \leq 11$ ,所以 $ k = 6$ 。

 

肯定不是APCS。

題解

標籤:
二分搜 前綴和
出處:
中高級 2026.03.08 [管理者:
Pote_Liu (13th 初階助教)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」