題目描述
有很多節火車廂被分散在一條軌道上的若干個位置
第i節車廂在position[i]的位置,長度為length[i],也就意味著第i節車廂佔據了這段區間
移動一節車廂乙個單位長度需要消耗乙個單位的能量,現在問你最少需要消耗多少能量能夠將所有的車廂合併到一起,即任意兩節車廂之間都沒有間隙
輸入第一行先輸入乙個整數n (2 <=n <=50)
第二行輸入n個整數 position[i] (1 <= position[i] <=10^9)
第三行輸入n個整數 length[i] (1 <= length[i] <= 10^9)
輸出輸出乙個整數,表示需要消耗的最少能量
樣例輸入
【樣例輸入1】
41 3 10 20
2 2 5 3
【樣例輸入2】
3100 50 1
10 2 1
【樣例輸入3】
54 10 100 13 80
5 3 42 40 9
樣例輸出
【樣例輸出1】
15【樣例輸出2】
96【樣例輸出3】
66題意:合併區間,使其所有都合併成乙個區間.
因為資料範圍比較小,所以直接暴力.
題解:先按左端排序,列舉每乙個車廂,以其為中心,兩邊的車廂向他靠攏.
#include using namespace std;
const int n=100;
typedef long long ll;
struct pa[n];
typedef long long ll;
bool comp(p a,p b)
sort(a+1,a+1+n,comp);
int end;
ll ans=0;
ll minn=1e18;
for(int i=1;i<=n;i++)
end=a[i].r;
for(int j=i+1;j<=n;j++)
if(ans}
cout/cout<<"asf"
}
問題 B 序列合併
題目描述 有兩個長度都為n的序列a和b,在a和b中各取乙個數相加可以得到n2個和,求這n2個和中最小的n個。輸入第一行乙個正整數n 1 n 100000 第二行n個整數ai,滿足ai ai 1且ai 109 第三行n個整數bi,滿足bi bi 1且bi 109 輸出輸出僅有一行,包含n個整數,從小到...
車廂重組問題
在乙個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。乙個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休後,火車站決定將這一工作自動化,其中一項...
鐵路車廂排程問題
鐵路車廂排程問題。圖 1 是乙個鐵道調車場的示意圖,兩側鐵道均為單向行駛 道,中間有一段用於排程的 棧道 調車場的入口處有 n 節硬座和軟座車廂 分 別用 h 和 s 表示 設計乙個演算法,把所有的軟座車廂排程到硬座車廂前面來,要求輸出對這 n 節車廂進行排程的 車廂編號 結果序列。hhh這個完全完...