題目 2560:
藍(lán)橋杯2019年第十屆國賽真題-分考場(chǎng)
時(shí)間限制: 2s
內(nèi)存限制: 320MB 提交: 172 解決: 0
題目描述
古語有云:春風(fēng)得意馬蹄疾,一日看盡長安花。當(dāng)然在一場(chǎng)考試中所有人都春風(fēng)得意馬蹄疾是不可能的,尤其是碰到一些毒瘤出題人的時(shí)候。
又到了每月一次的月考,又是 xf 老師出題。
上一次 xf 老師出的題太毒瘤了,平均分只有 40 多,同學(xué)們都非常不滿意,畢竟別的科的平均分都是 80 多。這次 xf 為了不被同學(xué)們寄刀片,想了一個(gè)辦法:只公布所有考場(chǎng)的平均分的平均分。這樣他就可以通過調(diào)整考場(chǎng)的分配方式,使得平均分顯得高。(每個(gè)考場(chǎng)都可以容納無限人)每次考試也不是所有同學(xué)都參加的,只有學(xué)號(hào)在 [l,r] 這個(gè)區(qū)間中的同學(xué)會(huì)參加。他想知道對(duì)于每次考試,他調(diào)整過考場(chǎng)后,所有考場(chǎng)的平均分的平均分的最大值。當(dāng)然,同學(xué)們也可能會(huì)努力學(xué)習(xí)或整日頹廢使成績發(fā)生改變。
輸入格式
輸入的第一行包含一個(gè)整數(shù) n。
第二行包含 n 個(gè)整數(shù),第 i 個(gè)數(shù) vi,表示開始時(shí)每個(gè)同學(xué)的成績。第三行包含一個(gè)整數(shù) q,表示有 q 次操作。之后 q 行,每行描述一個(gè)操作,第一個(gè)數(shù)表示操作類型。如果操作為 1 p x,表示學(xué)號(hào)為 p 的同學(xué)分?jǐn)?shù)變?yōu)?x。如果操作為 2 l r k, 表示把學(xué)號(hào)在 [l,r] 中的同學(xué)分成 k 個(gè)考場(chǎng),求這 k 個(gè)考場(chǎng)的平均分的平均分的最大值。
輸出格式
對(duì)于每個(gè) 2 操作輸出一行,四舍五入保留正好 3 位小數(shù)。
樣例輸入 復(fù)制
5
5 3 4 2 1
5
2 1 4 3
1 4 8
2 3 5 3
1 2 2
2 1 3 2
提示
【樣例說明】
第一個(gè)操作詢問學(xué)號(hào)在 [1, 4] 之間的同學(xué)分成 3 個(gè)考場(chǎng)的平均分的平均分
的最大值,最優(yōu)策略是:{1}, {2, 4}, {3},平均分是(5/1 +(3+2)/2 + 4/1)/3 。
第二個(gè)操作把學(xué)號(hào)為 4 的同學(xué)的分?jǐn)?shù)變?yōu)?8。
第三個(gè)操作詢問學(xué)號(hào)在 [3, 5] 之間的同學(xué)分成 3 個(gè)考場(chǎng)的平均分的平均分
的最大值,最優(yōu)策略是:{3}, {4}, {5}。
第四個(gè)操作把學(xué)號(hào)為 2 的同學(xué)分?jǐn)?shù)變?yōu)?2。
第五個(gè)操作詢問學(xué)號(hào)在 [1, 3] 之間的同學(xué)分成 2 個(gè)考場(chǎng)的平均分的平均分
的最大值,最優(yōu)策略是:{1}, {2 3}。
【評(píng)測(cè)用例規(guī)模與約定】
對(duì)于全部評(píng)測(cè)用列,n ≤ 200000, q ≤ 200000, 任意時(shí)刻同學(xué)的分?jǐn)?shù) vi ≤ 10^9, k ≤ r- l + 1。
評(píng)測(cè)時(shí)將使用 10 個(gè)評(píng)測(cè)用例測(cè)試你的程序,每個(gè)評(píng)測(cè)用例的限制如下:
評(píng)測(cè)用例編號(hào) n ≤ q ≤ 特殊說明
1 10 1 無
2,3 100 100 無
4~6 2000 2000 無
7~9 50000 50000 無
10~12 200000 200000 沒有 1 操作
13~20 200000 200000 無
標(biāo)簽
顯示知識(shí)點(diǎn)標(biāo)簽
C
C++
Java
Python
PHP
代碼重置
開啟O2優(yōu)化