b - 卡牌遊戲 iv
蒜頭君在玩一種卡牌遊戲,他有 n 張卡牌,每張卡牌上寫著兩個正整數 ai,bi ,ai 表示這張卡牌的能量值,bi表示這張卡牌的魔法值。
他準備一張一張打出這 n張卡牌,每張卡牌會對敵人造成的傷害是這張卡牌的能量值乘魔法值。但是蒜頭君覺得這樣把這 n張卡牌都出完對敵人造成的傷害之和還是不夠大,所以他偷偷學會了一種仙術。
蒜頭君施展一次仙術的時候會任意選擇兩張卡牌,把它們的魔法值交換,能量值不交換。蒜頭君可以使用任意次仙術,當然也可以一次都不使用,他想知道使用了若干次仙術以後一張一張打出這 n張卡牌,對敵人造成的傷害之和最大是多少。
輸入格式
第一行,乙個正整數 n(1≤n≤105)。
接下來 n行,每行兩個正整數 ai,bi(1≤ai,bi≤106)
輸出格式
輸出一行,包含乙個整數,表示蒜頭君使用若干次仙術以後一張一張打出卡牌,對敵人造成的傷害之和的最大值。
資料範圍
對於 70%的資料,1≤n≤10的3次方,1≤ai,bi≤10的3次方
對於 100%的資料,1≤n≤10的5次方,1≤ai,bi≤10的6次方
sample input
3
1 63 4
5 2
sample output
44
注意題目給的要求10的6次方,所以我用了long long int,然後這題的題意理解一下大概就是當成一棵哈夫曼樹求最大權值。就魔法值最大的和能量值最大的相乘,排下去就是最大值了。最後附上**。
#include
#include
using
namespace std;
intmain()
sort
(a,a+n)
,sort
(b,b+n)
;long
long
int sum=0;
for(
int i=
0;i) cout
}
c 初級 卡牌遊戲 IV
卡牌遊戲 iv 蒜頭君在玩一種卡牌遊戲,他有n張卡牌,每張卡牌上寫著兩個正整數 ai,bi,ai表示這張卡牌的能量值,bi表示這張卡牌的魔法值。他準備一張一張打出這 n張卡牌,每張卡牌會對敵人造成的傷害是這張卡牌的能量值乘魔法值。但是蒜頭君覺得這樣把這 n張卡牌都出完對敵人造成的傷害之和還是不夠大,...
B 卡牌對戰遊戲(動態RMQ)
傳送門 1.因為一點小失誤,一直沒調出來,有點可惜 2.實際上有點lis的感覺,我們設d i d i d i 表示從i ii開始的攻擊力最大值,b i b i b i 為位置i ii的攻擊力,那麼可以得出 d i ma x d i b i d j j id i m ax d i b i d j j ...
卡牌遊戲II bfs
有n張卡片,上面印著整數a1,a2,a3 an,可以選取其中任意數量張卡片,求出乙個和s,共有2 n 1個和 要求出最小的前n個和分別是多少 題目包含多組資料。輸入的每一行有乙個整數t 1 t 5 代表有t組資料 對於每組資料分為兩行 第一行有兩個整數n,k 其中1 n 200000,1 k min...