2019美團校招 考試策略

2021-09-23 08:17:22 字數 1030 閱讀 3351

時間限制:1秒

空間限制:65536k

小明同學在參加一場考試,考試時間2個小時。試卷上一共有n道題目,小明要在規定時間內,完成一定數量的題目。  考試中不限制試題作答順序,對於 i 第道題目,小明有三種不同的策略可以選擇:  (1)直接跳過這道題目,不花費時間,本題得0分。

(2)只做一部分題目,花費pi分鐘的時間,本題可以得到ai分。  (3)做完整個題目,花費qi分鐘的時間,本題可以得到bi分。 

小明想知道,他最多能得到多少分。

輸入描述:

第一行輸入乙個n數表示題目的數量。

接下來n行,每行四個數p_i,a_i,q_i,b_i。(1≤n≤100,1≤p_i≤q_i≤120,0≤a_i≤b_i≤1000

)。

輸出描述:

輸出乙個數,小明的最高得分。
輸入例子1:

4

20 20 100 60

50 30 80 55

100 60 110 88

5 3 10 6

輸出例子1:

94
這道題目用動態規化解決,dp[i] 表示第i分鐘的最大得分

這裡為了避免邊界情況,一定要先列舉得分,再列舉時間,時間必須從大到小列舉

#include #include using namespace std;

const int n = 1000;

int p[n], a[n], q[n], b[n];

int dp[n]; // dp[i] 表示第i分鐘的最大得分

int main()

for(int j=0;j= p[j] ? a[j] + dp[i - p[j]] : 0, i >= q[j] ? b[j] + dp[i - q[j]] : 0));

} }cout << dp[120] << endl;

}

2020美團校招

題目描述 給出乙個序列包含n個正整數的序列a,你可以從中刪除若干個數,使得剩下的數字中的最大值和最小值之差不超過x,請問最少刪除多少個數字。輸入要求 輸入第一行僅包含兩個正整數n和x,表示給出的序列的長度和給定的正整數。1 n 1000,1 x 10000 第二行輸入n個正整數,即這個序列,中間用空...

美團校招,百度校招經歷

美團 國慶剛過完後差不多10.11號美團宣講然後下午4 30筆試,整個宣講會非常枯燥,是由一位經理在上面講,非常枯燥。卷子除了附加題以外主要是8道演算法程式設計題,乙個半小時,我大概做了5題就交了。題目現在記的不是很清楚,第一題用到二分法,第二題是陣列資料分成三段,還有多執行緒一題,還有奇偶排序等等...

美團校招,百度校招經歷

美團 國慶剛過完後差不多10.11號美團宣講然後下午4 30筆試,整個宣講會非常枯燥,是由一位經理在上面講,非常枯燥。卷子除了附加題以外主要是8道演算法程式設計題,乙個半小時,我大概做了5題就交了。題目現在記的不是很清楚,第一題用到二分法,第二題是陣列資料分成三段,還有多執行緒一題,還有奇偶排序等等...