1919: 【提高】滑翔翼
時間限制: 1 sec 記憶體限制: 64 mb
提交: 808 解決: 554
[提交] [狀態] [討論版] [命題人:外部匯入]
題目描述
小t和小k都是oier,入選省隊後有幸去蘇州參加jsoi集訓,訓練之餘,他們相約一起去蘇州樂園玩。
蘇州樂園裡有乙個非常熱門的遊樂專案叫雙人滑翔翼。小t想和小k一起乘雙人滑翔翼,但是排在他們前面的一大群人卻為了搭配問題而爭執不休,小t和小k便自告奮勇上前為他(她)們排擾解難。
排在小t和小k前面的一大群人中有n個男人和n個女人。本著「男女搭配,幹活不累」的原則,他(她)們希望一男一女結成對子飛上天去。由於雙人滑翔翼飛行的穩定性很大程度上決定於兩側是否平衡,所以兩個人體重相差越小則組成的搭檔也越好。
現在已知每個人的體重,你的任務就是將所有人結成n對並使各對的體重差的總和最小。一對的體重差定義為重的減輕的的值,此值一定大於等於0,譬如有一對人,男的體重為50,女的體重為55,則他(她)們的體重差為5,反過來如果男的體重為55,女的體重為50,則他(她)們的體重差仍然是5。
輸入第一行包含乙個自然數n(1≤n≤1000),表示有n對人;
第2~n+1行:每行包含乙個自然數,表示n個男人的體重;
第n+2~2n+1行:每行包含乙個自然數,表示n個女人的體重。
輸出僅有一行包含乙個整數,表示配對後n對男女的體重差的總和的最小值。
樣例輸入42
8551
4107樣例輸出6提示
【樣例解釋】
樣例中4個男人的體重分別是2,8,5,5;4個女人的體重分別是1,4,10,7。按體重結對的最佳方式為:2-1,8-10,5-4,5-7;此時4對人的體重差的總和最小,其值為1+2+1+2=6。
【資料規模】
30%的資料滿足:1≤n≤10,體重為不超過10的自然數。
100%的資料滿足:1≤n≤1000,體重為不超過1,000,000的自然數。
常州市2012「資訊與未來」夏令營選拔賽
題解如下
#include
#include
using namespace std;
intmain()
printf
("%d"
,char_zhi)
;return0;
}
怪盜基德的滑翔翼
描述 怪盜基德是乙個充滿傳奇色彩的怪盜,專門以珠寶為目標的超級盜竊犯。而他最為突出的地方,就是他每次都能逃脫中村警部的重重圍堵,而這也很大程度上是多虧了他隨身攜帶的便於操作的滑翔翼。有一天,怪盜基德像往常一樣偷走了一顆珍貴的鑽石,不料卻被柯南小朋友識破了偽裝,而他的滑翔翼的動力裝置也被柯南踢出的足球...
怪盜基德的滑翔翼
怪盜基德是乙個充滿傳奇色彩的怪盜,專門以珠寶為目標的超級盜竊犯。而他最為突出的地方,就是他每次都能逃脫中村警部的重重圍堵,而這也很大程度上是多虧了他隨身攜帶的便於操作的滑翔翼。有一天,怪盜基德像往常一樣偷走了一顆珍貴的鑽石,不料卻被柯南小朋友識破了偽裝,而他的滑翔翼的動力裝置也被柯南踢出的足球破壞了...
怪盜基德的滑翔翼
確定滑行方向後就轉化為了lis問題,原問題相當於正向和反向以h i h i h i 為結尾的最長上公升子串行長度,分別正向和反向各進行一次lis,取得最大值即可。如下圖所示,int ans 0 最多可以經過的建築數量 正向做一遍lis for int i 1 i n i dp i 1 for int...