洛谷訓練新手村之「陣列」題解

2022-05-19 23:58:32 字數 1954 閱讀 9111

題目大意:求有多少蘋果樹的高度\(\le\) 陶陶的高度+30。

解題思路:開陣列存資料,然後迴圈遍歷一遍。

實現**如下:

#include using namespace std;

int a[11], cnt;

int main()

題目大意:給你若干區間,求有多少點沒有被這些區間覆蓋。

解題思路:開乙個 cut 陣列,cut[i]表示第i個點有沒有被覆蓋,對於每個區間[l,r],從 l 到 r 置每個cut[i]true,然後從 1 到 n 統計有多少cut[i] == false的點。

實現**如下:

#include using namespace std;

bool cut[10001];

int l, m, l, r, cnt;

int main()

for (int i = 0; i <= l; i ++) cnt += !cut[i];

cout << cnt << endl;

return 0;

}

題目大意:

小魚最近被要求參加乙個數字遊戲,要求它把看到的一串數字(長度不一定,以0結束,最多不超過100個,數字不超過2^32-1),記住了然後反著念出來(表示結束的數字0就不要念出來了)。這對小魚的那點記憶力來說實在是太難了,你也不想想小魚的整個腦袋才多大,其中一部分還是好吃的肉!所以請你幫小魚程式設計解決這個問題。

解題思路:開乙個陣列存資料,然後倒著輸出。

實現**如下:

#include using namespace std;

int a[101], n;

int main()

cout << endl;

return 0;

}

不過最近學到一種遞迴寫法,都不用開陣列。實現**如下:

#include using namespace std;

void f()

int main()

題目大意:對於陣列中每個數,求它左邊有多少數比它小。

解題思路:

實現**如下:

#include using namespace std;

int n, a[101], c[101]; // c[i]用於統計數量

int main()

cout << endl;

return 0;

}

題目大意:尋找陣列中有多少個數,恰好等於集合中另外兩個(不同的)數之和。

解題思路:因為資料量不是很大(\(\le 100\)),所以可以開 \(o(n^3)\) 列舉。

實現**如下:

#include using namespace std;

int n, a[101], cnt;

bool check(int num)

int main()

題目大意:統計陣列的最長上公升子串的長度。

解題思路:開乙個變數 c,如果 \(a[i-1] \lt a[i]\) ,則 \(c = c + 1, ans = max(ans, c)\) ,否則 \(c = 1\) 。

實現**如下:

#include using namespace std;

int n, a[1001000], c = 1, ans = 1;

int main()

cout << ans << endl;

return 0;

}

洛谷訓練新手村之「迴圈!迴圈!迴圈!」題解

題目大意 找所有1 2 3格式的數。解題思路 列舉一下第乙個數,然後判斷根據第乙個數推導出來的第 二 三個數是不是三位數即可,並且放好包含了1至9即可。實現 如下 include using namespace std bool tmp 10 bool check int a for int i 1...

洛谷訓練新手村之「順序與分支」題解

題目大意 夏天到了,各家各戶的用電量都增加了許多,相應的電費也交的更多了。小玉家今天收到了乙份電費通知單。小玉看到上面寫 據閩價電 2006 27號規定,月用電量在150千瓦時及以下部分按每千瓦時0.4463元執行,月用電量在151 400千瓦時的部分按每千瓦時0.4663元執行,月用電量在401千...

洛谷訓練新手村之「過程函式與遞迴」題解

題目大意 以遞迴的方式輸出題目描述中的資料方案數。解題思路 因為是方案數,所以只需要開乙個計數器統計一下總共有多少方案即可。我們令f n 返回數為 n 的時候的方案數,不難得出 f n 1 sum 2 rfloor f i 但是需要注意乙個細節,我們需要用到備忘錄 或者稱為 記憶化搜尋 的思想,即,...