好的時隔多年終於來更部落格了
題目鏈結
題意很明確了,一眼就知道是要貪心,但是怎麼貪呢?
對於a1,a2,a3,不妨令a1
s1=(a1*a2+1)*a3+1=a1*a2*a3+a3+1;
s2=(a2*a3+1)*a1+1=a1*a2*a3+a1+1;
s3=(a1*a3+1)*a2+1=a1*a2*a3+a2+1;
顯然s2最大,s1最小,推廣到一般情況就是每次取最大的兩個數可以得到最小值,每次取最小的兩個數可以得到最大值。
然後維護兩個優先佇列就行了
資料水的一b
**:
1 #include2 #include3 #include4 #include5view codeusing
namespace
std;
6struct
node9};
10int
read()
13while(c>='
0'&&c<='9')
14return ans*f;15}
16 priority_queueq;
17 priority_queuep;
18int
main());23}
24read();
25for(int i=1;i));29}
30 node pp=p.top();
31 printf("
%d\n
",pp.w-q.top());
32return0;
33 }
貪心 數列極差
時間限制 1 sec 記憶體限制 128 mb 提交 9 解決 5 提交 狀態 討論版 命題人 add zmx 在黑板上寫了n個正整數組成的乙個數列,進行如下操作 每次擦去其中的兩個數a和b,然後在數列中加入乙個數a b 1,如此下去直至黑板上剩下乙個數,在所有按這種操作方式最後得到的數中,最大的為...
貪心 數列極差問題
題目描述 我就說你在忽悠我吧,我剛才問了昆士蘭大學的好多魔法師,他們根本就沒有乙個人想過做什麼時間旅行的實驗,但搞笑的是,他們居然對你的理論很感興趣,想找個時間和你做進一步的討論。哎,我還以為他們和我一樣聰明呢,想不到這麼容易上當受騙。小墨老師擺出一幅你騙不了我的表情。唉,你太自以為是了,這樣吧,你...
問題 A 貪心 數列極差問題
題目描述 我就說你在忽悠我吧,我剛才問了昆士蘭大學的好多魔法師,他們根本就沒有乙個人想過做什麼時間旅行的實驗,但搞笑的是,他們居然對你的理論很感興趣,想找個時間和你做進一步的討論。哎,我還以為他們和我一樣聰明呢,想不到這麼容易上當受騙。小墨老師擺出一幅你騙不了我的表情。唉,你太自以為是了,這樣吧,你...