noip2012d1t2 國王遊戲

2022-05-20 04:14:40 字數 558 閱讀 3253

題意:給定乙個序列,每個點有a,b兩個權值,每個點的sum值等於前面所有點a值的乘積/該點的b值

序列的值等於所有點的sum的最大值。

該序列的點不具單調性,所以無法二分,考慮貪心

首先只考慮由相鄰兩個數組成的二元組

顯然它們的排列順序對前後所有點的值都沒有影響

設這兩個數的權值分別為val[i],val[i+1

];設sum[i]表示1~i的左權值乘積(sum[i]=sum[i-1]*left[i]);

則有:val[i]=sum[i-1]/right[i]

val[i+1]=sum[i]/right[i+1]故:

val[i+1]=sum[i-1]*left[i]/right[i+1

] =val[i]*left[i]*right[i]/right[i+1

] 顯然前乙個數的left[i]*right[i]對後乙個數有影響

推廣到整個序列,則以left[i]*right[i]為關鍵字進行排序即可

貪心推導

由於資料規模過大,還需要打高精度...就寫得很醜

NOIP2012d2t2 國王遊戲

題目大意 國王和n個大臣站成一列,編號為0,1,2.n 國王在隊首 每個人有兩個數字 ai,bi 0 i n 問如何排列大臣的序列,使 a0 a1 ai 1 bi 1 i n 中的最大值最小,求這個最小值 首先注意對於100 的資料,有1 n 1,000,0 a b 10000。高精度,居然要高精度...

NOIP2012提高組Day1T2 國王遊戲

國王遊戲 描述恰逢 h 國國慶,國王邀請 n 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是 排在該大臣前面...

NOIP2012 DAY1 T2 國王遊戲

恰逢 h國國慶,國王邀請n位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是 排在該大臣前面的所有人的左手上的數...