雙核cpu
一種雙核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
首先我們觀察到資料量都是1024的倍數,所以我們可以對於所有都除以乙個1024,然後最後再算回來。
這顯然是乙個經典的動態規劃的問題,直接搞就好了。
過不了的大概因為是用的貪心做法,可以嘗試自己構造一波反例。。
#include
using
namespace
std;
int vis[204800];
vector
a;int n;
int solve(vector
vec) }}
i = len / 2;
while(i >= 0 && !vis[i])
--i;
return (len - i) * 1024;
}int main()
cout
<< solve(a) << endl;
return
0;}
集合
小易最近在數學課上學習到了集合的概念,集合有三個特徵:1.確定性 2.互異性 3.無序性.
小易的老師給了小易這樣乙個集合:
s =
需要根據給定的w,x,y,z,求出集合中一共有多少個元素。小易才學習了集合還解決不了這個複雜的問題,需要你來幫助他。
輸入描述:
輸入包括一行:
一共4個整數分別是w(1 ≤ w ≤ x),x(1 ≤ x ≤ 100),y(1 ≤ y ≤ z),z(1 ≤ z ≤ 100).以空格分隔
輸出描述:
輸出集合中元素的個數
輸入例子:
1 10 1 1
輸出例子:
10
#include
using
namespace
std;
int w, x, y, z;
setint, int> > s;
int main()
}cout
<< s.size() << endl;
return
0;}
[程式設計題] 奇怪的表示式求值
常規的表示式求值,我們都會根據計算的優先順序來計算。比如/的優先順序就高於+-。但是小易所生活的世界的表示式規則很簡單,從左往右依次計算即可,而且小易所在的世界沒有除法,意味著表示式中沒有/,只有(+, - 和 )。現在給出乙個表示式,需要你幫忙計算出小易所在的世界這個表示式的值為多少
輸入描述:
輸入為一行字串,即乙個表示式。其中運算子只有-,+,*。參與計算的數字只有0~9.
保證表示式都是合法的,排列規則如樣例所示。
輸出描述:
輸出乙個數,即表示式的值
輸入例子:
3+5*7
輸出例子:
56
#include
using
namespace
std;
string s;
int main()
}cout
<< ans << endl;
}
Seeker的奇妙求職歷險(網易網際網路筆試)
給出乙個包含n個正整數的陣列a,把a i 拆分為若干個和為a i 的素數,求拆分後最多能有多少個素數。第一行資料為n,表示陣列長度,第二行為n個元素。輸入3 1 1 1 輸出0 1不可拆分 輸入1 3 5 7 6 1為0個,3為1個,5為 2,3 7為 2,2,3 分析 這道題比較簡單,當a i 1...
網際網路筆試習題彙總
作為一名學校足球教練,你的任務是挑選一支由p個學生組成的團隊代表你的學校。共有n名學生供你挑選,第 i 名學生的技術等級為si,這是乙個正整數,表示他們的技術水平。在你看來乙個合理的團隊中的p個球員的技術應該是相當的,這樣才能使每個人都融入到隊內。在最開始,你可能無法直接選出乙個配置合理的隊伍,因此...
網際網路運營面試題 網際網路大公司面試筆試題運營崗
不定項選擇題 16 3 好像是選項全部選對給 分,選對部分給 分,錯選不得分。印象中有攜程文化的題,包括投資了哪些公司,攜程的價值觀,判斷哪些是攜程的業務模 塊,哪些做法是攜程倡導的云云 還有一些旅行相關問題,比如旅行者的使用者型別,制約因素等。問答題前兩題各 分,第三題 分,第四題 分。乙個數學應...