計蒜課 微軟大樓設計方案 中等 xjb

2022-02-19 20:25:48 字數 960 閱讀 8562

題意:中文題誒~

思路:對於座標為p1(x1, y1), p2(x2, y2) 的兩個核心, 其中 x1 <= x2 用 d(p1, p2) 表示兩者間最矮的大樓,則需要時間為:

對於d(p1, p2) >= min(y1, y2)情況,cnt = abs(x2 - x1) + abs(y2 - y1)

對於d(p1, p2) < min(y1, y2)情況,cnt = y1 + y2 - 2*d(p1, p2) + abs(x2 -x1)

所以對於中等難度,可以列舉所有核心組合的情況,對於當前情況,若 cnt <= k,則計數加一;

那麼現在問題為求 d,可以用 dis[i][j] 儲存前 i 個元素 j 出現的次數,那麼只需要列舉 h 即可得到 d(p1, p2),而 h <= 20,顯然是可行的...

**:

1 #include 2 #include 3 #include 4 #include 5 #include 

6using

namespace

std;78

const

int maxn = 2e5 + 10;9

int a[maxn], x[maxn], y[maxn], dis[maxn][30

];10

11int main(void)20

}21 scanf("

%d", &m);

22for(int i = 0; i < m; i ++)

25int ans = 0;26

for(int i = 0; i < m; i++)

34if(cnt1 ==cnt2)else43}

44if(cc <=d)else51}

52}53}

54 printf("

%d\n

", ans);

55return0;

56 }

view code

計蒜客 微軟大樓設計方案(RMQ)

題目鏈結 微軟大樓設計方案 中文題就不說題意了 首先是簡單版本 滿足 1 n,m 50 那麼設 c i j 為從第 i 幢樓到第 j 幢樓的最低的那幢樓的高度 計算兩個點之間的距離的時候,若兩個點分別在第 i 列,第 j 列,那麼要根據 c i j 來計算。暴力即可 include using na...

計蒜客 泥塑課

小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過250立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方體,並且測量手裡捏好的橡皮泥的長 寬和高。這樣,她就...

計蒜課 跳躍遊戲

題目描述 給定乙個非負整數陣列,假定你的初始位置為陣列第乙個下標。陣列中的每個元素代表你在那個位置能夠跳躍的最大長度。請確認你是否能夠跳躍到陣列的最後乙個下標。例如 a 2,3,1,1,4 a 2,3,1,1,4 能夠跳躍到最後乙個下標,輸出true a 3,2,1,0,4 a 3,2,1,0,4 ...