Viojs 1662 最大配對

2022-04-28 17:36:11 字數 1644 閱讀 3402

orz5-1 match

給出2個序列a=,b=,從a、b中各選出k個元素進行一一配對(可以不按照原來在序列中的順序),並使得所有配對元素差的絕對值之和最大。

例如各選出了a[p[1]],a[p[2]],……,a[p[k]]與b[q[1]],b[q[2]],……,b[q[k]],其中p序列中的元素兩兩不相同,q序列中的元素兩兩不相同,那麼答案為|a[p[1]]-b[q[1]]|+|a[p[2]]-b[q[2]]|+……+|a[p[k]]-b[q[k]]|,現在任務也就是最大化這個答案。

輸入的第1行為2個正整數n,k,表示了序列的長度和各要選出元素的個數。

第2行包含n個正整數,描述了a序列。

第3行包含n個正整數,描述了b序列。

輸出僅包括乙個非負整數,為最大的結果。

注意:答案可能超過2^31-1,請使用int64或者long long(若使用printf輸出請用「%i64d」)型別儲存結果。

4 2

2 5 6 3

1 4 6 7

10
對於10%的資料,有k≤5,n≤10;

對於30%的資料,有n≤100;

對於50%的資料,有n≤1000;

對於100%的資料,有k≤n≤100000;a[i],b[i]≤1000000。

時限1s。

配對(2,7)、(6,1)結果為|2-7|+|6-1|=10。

看來貪心只適合高智商人玩兒,,

╮(╯▽╰)╭,

別哭,哭什麼啊。。

不好看了都。。

題目你!

說什麼i64d!!!

明明是lld!!!

打死你!

mmp!

看**吧,典型的貪心,看看就明白了。:

#include#include

#include

#include

#include

#include

using

namespace

std;

intn,k;

long

long

ans;

int a[100002],b[100002

];long

long abss(long

long x,long

long

y)int

main()

else

}printf(

"%lld

",ans);

return0;

}

如果你不開心,那我就把右邊

這個帥傻子分享給你吧,

你看,他這麼好看,那麼深情的望著你,你還傷心嗎?

真的!這**盯上他五秒鐘就想笑了。

一切都會過去的。

C 數字配對 (網路流 最大費用最大流)

題目大意 中文題目 具體思路 用網路流的思想,我們求得是最大的匹配數,那麼我們按照二分圖的形式去建邊就可以了,加上超級源點和超級匯點,就可以用網路流跑了。建邊的時候,我們首先把每個數進行素因子分解,看一下當前的這個數能夠被分解成多少個素數,奇數個的放在乙個陣列裡,偶數個的放在另乙個陣列裡面 如果兩個...

正向最大匹配 和逆向最大匹配對比比較

下面介紹的分詞演算法中最簡單的正向最大匹配和反向最大匹配。這種兩種方法都是機械分詞方法,它是按照一定的策略將待分析的漢字串與乙個 充分大的 機器詞典中的詞條進行配,若在詞典中找到某個字串,則匹配成功 識別出乙個詞 按照掃瞄方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配 按照不同長度優先匹配的情...

BZOJ4205 卡牌配對 最大流

現在有一種卡牌遊戲,每張卡牌上有三個屬性值 a,b,c。把卡牌分為x,y兩類,分別有n1,n2張。兩張卡牌能夠配對,當且僅當,存在至多一項屬性值使得兩張卡牌該項屬性值互質,且兩張卡牌類別不同。比如一張x類卡牌屬性值分別是225,233,101,一張y類卡牌屬性值分別為115,466,99。那麼這兩張...