ZZULIOJ 1272 複習時間

2021-10-02 19:19:03 字數 1173 閱讀 7796

時間限制: 1 sec 記憶體限制: 128 mb

提交: 24 解決: 19

[狀態] [提交] [命題人:admin]

題目描述

為了能過個好年,xhd開始複習了,於是每天晚上揹著書往教室跑。xhd複習有個習慣,在複習完一門課後,他總是挑一門更簡單的課進行複習,而他複習這門課的效率為兩門課的難度差的平方,而複習第一門課的效率為100和這門課的難度差的平方。xhd這學期選了n門課,但是一晚上他最多只能複習m門課,請問他一晚上覆習的最高效率值是多少?

輸入輸入資料的第一行是乙個資料t,表示有t組資料。

每組資料的第一行是兩個整數n(1 <= n <= 40),m(1 <= m <= n)。

接著有n行,每行有乙個正整數a(1 <= a <= 100),表示這門課的難度值。

輸出對於每組輸入資料,輸出乙個整數,表示最高效率值。

樣例輸入 copy

22 2

5225

12 5

8964643

5672

9223

2022

3731

樣例輸出 copy

5625

8836

這道題的關鍵就是找到規律,一開始我也很懵,感覺這是一道超級麻煩的題目,但是在高人指點過後,發現了規律,就是找出最小的然後平方就是啦

題意:複習第一門課的效率為100和這門課的難度差的平方。

看作:一開始便挑選了一門複習難度為100且複習效率為0的特殊課程s。

如果:將所選的m門課程與s按照複習難度降序排列為a0,a1,a2,…,am(顯然有a0=s)。

根據:(a0-a1)+(a1-a2)+…+(am-1-am)=(a0-am)。

就有:(a0-a1)2+(a1-a2)2+…+(am-1-am)2≤(a0-am)2。

也即:任選m門課程不會優於只選擇這些課程中複習難度最小的那門。

#include

using

namespace std;

#define maxn 1e9+7

intmain()

small=

100-small;

printf

("%d\n"

,small*small);}

return0;

}

R 複習時間

為了能過個好年,xhd開始複習了,於是每天晚上揹著書往教室跑。xhd複習有個習慣,在複習完一門課後,他總是挑一門更簡單的課進行複習,而他複習這門課的效率為兩門課的難度差的平方,而複習第一門課的效率為100和這門課的難度差的平方。xhd這學期選了n門課,但是一晚上他最多只能複習m門課,請問他一晚上覆習...

hdu 2078 複習時間

problem description 為了能過個好年,xhd開始複習了,於是每天晚上揹著書往教室跑。xhd複習有個習慣,在複習完一門課後,他總是挑一門更簡單的課進行複習,而他複習這門課的效率為兩門 課的難度差的平方,而複習第一門課的效率為100和這門課的難度差的平方。xhd這學期選了n 門課,但是...

HDOJ 2078 複習時間

題意 有n門要複習的功課,使得複習難度越來越低,並且兩門課之間難度差的平方和盡可能的大,求要怎麼對要複習的功課進行排序。思路 dp,對難度排序,轉移方程dp i j max dp i j dp i 1 j k abs num j num j k abs num j num j k dp i j 表示...