______ab_______
設#為ab前面的人左手乘積
假設a在前
a:#/ra (1)b:#*la/rb(2)
假設b在前
a:#*lb/ra (3) b:#/rb (4)、
如果獲得最大的大臣就在a和b之間
我們規定a在前面 好
就有max(1,2)<=max(3,4)
發現(1)<=(3)
(4)<=(2)
要想max(1,2)<=max(3,4)成立
只需滿足
(3)>=(2)
就有#*la/rb<=#*lb/ra
就有la*ra<=lb*rb
高精度可直接套用模板
#includeusing namespace std;
const int n=1005;
typedef vectorv;
pairpa[n];
v cheng(v a, int b)//乘法
return c;
}v chu(v a, int b)//除法
reverse(c.begin(), c.end());
while (c.size() > 1 && c.back() == 0) c.pop_back();
return c;
}bool bi(v a, v b)//比較
void out(v res)//輸出
sort(pa+1,pa+1+n);//排序
v lc(1,1);//累l乘c
v ans(1,0);//答案
for(int i=0;i<=n;i++)
lc=cheng(lc,a);
}out(ans);
}
國王的遊戲(貪心 高精度)
恰逢 h 國國慶,國王邀請 n 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是 排在該大臣前面的所有人的左手...
牛客 牛牛的揹包 貪心演算法
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 題目描述 牛牛有最多50個物品,每個物品有乙個type標號,並且有乙個taste值,現在要求選擇若干個物品放進揹包使得x y最大,x為選擇的不同type的數量,y...
有趣的演算法問題12 跳躍遊戲1(貪心演算法)
所有演算法均是用c 編寫 所有題目均是來自計蒜客 我好想回爐重造。給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,...