新手上路,培養寫演算法的風格與習慣!

2022-08-16 02:48:14 字數 1439 閱讀 7031

目錄

二、使用預設模板

三、擺正學習演算法的心態

良好的命名風格與習慣,可以讓我們形成肌肉記憶,解題也更加得心應手。

做過一些演算法題的同學,可以發現很多題目中一些非題幹的變數都是雷同的.

舉個簡單的例子:t個案例,要求輸入n個數字並輸出。

每個案例第一行輸入n,第二行輸入n個數字。( 1 <= n <= 10^5)

​ n/maxn——用來表示需要陣列的最大容量

​ t——表示案例

​ n——表示輸入的個數

​ a——使用字母a表示陣列(需要多個陣列時優先用帶含義的命名方式)

#include//c++的萬能標頭檔案,乙個頂多個

using namespace std;

//1ex+y=10^x+y,常用const 來修飾常量n

cosnt int n = 1e5+10;//一般加大一些防止越界。

int t;

int n;

int main()

for(int i = 1; i <= n; i++)

cout << a[i] << " " << endl;

return 0;

}

基本上每乙個演算法題,都需要用到這些變數中的乙個或者多個。

題幹的變數用具體的含義來命名

學了一些演算法後,可以用演算法相關的來專門命名,如:

dfs——表示深搜

bfs——表示廣搜

dif——表示差分

...需要注意的是:以下變數會與algorithm.h庫中函式重名,需要進行一定修改

count——cnt

min——minnum

max——maxnum

...

用預設模板,可以在編譯器中新建c、cpp檔案時自動生成設定好的常用模板

不同的編譯器可以專門去搜尋一下如何設定,以下給出幾個常用模板

當然模板隨自己喜歡的修改即可!

簡化版:

#include using namespace std;

int main()

基礎版:

#include #define inf 0x3f3f3f3f

#define eps 1e-6

using namespace std;

typedef long long ll;

const int n = 1e5 + 10;

int main()

學習演算法最關鍵的還是老老實實刷題!!!

培養好良好的習慣與風格只是學習演算法的調味劑,多刷題才是最重要的!!!

Linux環境的新手上路

系統環境 阿里雲 ubuntu 16.04 1.問題 使用 apt get install 命令安裝 gdb 時,提示 package gdb has no installation candidate 解決方法 apt get update apt get upgrade 2.問題 使用windo...

新手上路,開始這種方式的學習,加油

剛剛入職,需要學的很多。eof是通過ctrl z輸入的 c語言讀檔案可以用fscanf 進行格式化的輸入。但c 的cin是不是也可以格式化輸入?還得看看 模態對話方塊是要阻塞程序的,對於乙個要同時實現兩個對話方塊的應用程式,必須至少有乙個是非模態的。domodel 和createrwindow 分別...

登入MYSQL的簡單步驟,新手上路

1.首先先進入到本地的phpstudy目錄 進入到mysql bin中 登入mysql mysql u root p 密碼 成功登入 列出所有資料庫 mysql show database 切換資料庫 mysql use 資料庫名 列出所有表 mysql show tables 顯示資料表結構 my...