分析(這篇水文的精髓)
**萬一載入不出來的話可以看文本版(其實是為了這篇文章可能被根據題目內容搜到23333)
有 n 位同學同時找老師答疑。每位同學都預先估計了自己答疑的時間。
老師可以安排答疑的順序,同學們要依次進入老師辦公室答疑。
一位同學答疑的過程如下:
首先進入辦公室,編號為 i 的同學需要 si 毫秒的時間。
然後同學問問題老師解答,編號為 i 的同學需要 ai 毫秒的時間。
答疑完成後,同學很高興,會在課程群裡面發一條訊息,需要的時間可
以忽略。
最後同學收拾東西離開辦公室,需要 ei 毫秒的時間。一般需要 10 秒、20 秒或 30 秒,即 ei 取值為 10000,20000 或 30000。
一位同學離開辦公室後,緊接著下一位同學就可以進入辦公室
了。答疑從 0 時刻開始。老師想合理的安排答疑的順序,使得同學們在課程群
裡面發訊息的時刻之和最小。
輸入第一行包含乙個整數 n,表示同學的數量。
接下來 n 行,描述每位同學的時間。其中第 i 行包含三個整數 si, ai, ei,意義如上所述。
輸出乙個整數,表示同學們在課程群裡面發訊息的時刻之和最小是多少。
3
10000 10000 10000
20000 50000 20000
30000 20000 30000
280000
按照 1, 3, 2 的順序答疑,發訊息的時間分別是 20000, 80000, 180000。
對於 30% 的評測用例,1 ≤ n ≤ 20。
對於 60% 的評測用例,1 ≤ n ≤ 200。
對於所有評測用例,1 ≤ n ≤ 1000,1 ≤ si ≤ 60000,1 ≤ ai ≤ 1000000,
ei ∈ ,即 ei 一定是 10000、20000、30000 之一。
畫個表統計26個人每個人的用時,他們加起來就是總用時
其中a-z代表不同的人,1和2是答疑用時,3是離開用時12
3…26s=
a1+a2+
a1+a2+a3+b1+b2+
a1+a2+a3+b1+b2+b3+c1+c2+
…a1+a2+a3+…+y1+y2+y3+z1+z2
這個再分析具體點,用as代表a的總時間,aw代表a的答疑時間
aw + as+bw + as+bs+cw + as+bs+cs+dw + ... + as+bs+cs+...+ys+zw
發現規律了嗎?
合併同類項之後是
25as+24bs+23cs+...+ys+(aw+bw+...+zw(括起來的是常數,無論如何都要加的))
所以只要越靠前的學生的用時和越小,總和就越小。(因為越靠前的學生的用時被加的次數最多)
class
timecost()
:def
__init__
(s, a, b, c)
: s.w = a + b
s.s = s.w + c
def__lt__
(s, o)
:return s.s < o.s
n =int
(input()
)l =
for i in
range
(n):
a, b, c =
map(
int,
input()
.split())
)l =
sorted
(l)# 就按照時間和排序一下就行了。
s, s1 =0,
0for i in l:
s += i.w + s1
s1 += i.s
print
(s)
有個朋友看n最大才1000被唬住了,捂臉。以為不可能用排序就能解決。沒想到啊。藍橋杯真是能出人意料。
第十一屆藍橋盃國賽總結
唔,這三周真的是忙啊,本來以為大三課少會稍微空一點的。編譯原理沒有一次是兩個下午就能寫完的,人工智慧上課講講基本概念,作業直接關係抽取。期中也複習的匆匆忙忙的,每天擠出時間來學習托福和刷題。已經忘了上次睡的乙個完整的午覺是什麼時候了。昨天的國賽狀態是真的不好,一直卡在第四題,奇奇偶偶的分了半天才理清...
第十一屆藍橋杯(國賽) 階乘約數
定義階乘 n 1 2 3 n。請問 100 100 的階乘 有多少個約數。這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多餘的內容將無法得分。答案 39001250856960000 題解數學公式 階乘數學定理 任意乙個正整數 x 都可以表示...
第十一屆藍橋杯(國賽) 階乘約數
問題描述 定義階乘 n 1 2 3 n。請問 100 100 的階乘 有多少個約數。答案提交 這是一道結果填空的題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多餘的內容將無法得分。答案 39001250856960000 題解 數學公式 任意乙個正整數 x 都...