題意:中文題誒~
思路:對於座標為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 #includeview code6using
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 }
計蒜客 微軟大樓設計方案(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 ...