時間限制:1秒這是個陣列分割問題,見程式設計之美2.18空間限制:32768k
一種雙核cpu的兩個核能夠同時的處理任務,現在有n個已知資料量的任務需要交給cpu處理,假設已知cpu的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入cpu進行處理,現在需要設計乙個方案讓cpu處理完這批任務所需的時間最少,求這個最小的時間。
輸入描述:
輸入包括兩行:
第一行為整數n(1 ≤ n ≤ 50)
第二行為n個整數length[i](1024 ≤ length[i] ≤ 4194304),表示每個任務的長度為length[i]kb,每個數均為1024的倍數。
輸出描述:
輸出乙個整數,表示最少需要處理的時間
輸入例子:
5 3072 3072 7168 3072 1024
輸出例子:
9216
基本思路是動態規劃 定義s
k 為前k個元素的任意i個項之和vi
(只考慮取值小於sum/2的情況)的集合 sk
= 則狀態轉換方程為: sk
=sk−
1u
#include
#include
#include
#include
using
namespace
std;
void func(vector
& length)
long
long sum = accumulate(length.begin(), length.end(), 0);
long
long half = sum / 2;
vector
vec_1,vec_2;
vec_1.resize(half + 1);
vec_2.resize(half + 1);
vec_1[0] = 1;
for (auto i = 0; i < length.size();++i)
}vec_1 = vec_2;
}long
long tmp;
for (auto i = half; i > 0; --i)
}cout
<< 1024*(sum - tmp);
}int main()
func(length);
return
0;}
雙核處理器ARM DSP
針對當前應用的複雜性,soc晶元更好能能滿足應用和 的需求,整合眾多介面,用arm做為應用處理器進行多樣化的應用開發和使用者介面和介面,利用dsp進行演算法加速,特別是 的編譯碼演算法加速,既能夠保持演算法的靈活性,又能提供強大的處理能力。傳統的晶元,基本是乙個處理器核心,或者是通用處理器如arm,...
CPU 什麼是雙核處理器
雙核處理器 dual core processor 雙核處理器是指在乙個處理器上整合兩個運算核心,從而提高計算能力。雙核 的概念最早是由ibm hp sun等支援risc架構的高階伺服器廠商提出的,主要運用於伺服器上。而台式電腦上的應用則是在intel和amd的推廣下,才得以普及。目前intel推出...
雙核處理 網易2017春招實習筆試程式設計題1
時間限制 1秒 空間限制 32768k 一種雙核cpu的兩個核能夠同時的處理任務,現在有n個已知資料量的任務需要交給cpu處理,假設已知cpu的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入cpu進行處理,現在需要設計乙個方案讓cpu處理完這批任務所需的時間最少,...