目录
所在位置
一、 命名
良好的命名风格与习惯,可以让我们形成肌肉记忆,解题也更加得心应手。
1. 非题干的变量
做过一些算法题的同学,可以发现很多题目中一些非题干的变量都是雷同的.
举个简单的例子:T个案例,要求输入n个数字并输出。
每个案例第一行输入n,第二行输入n个数字。( 1 <= n <= 10^5)
N/maxn——用来表示需要数组的最大容量
T——表示案例
n——表示输入的个数
a[]——使用字母a表示数组(需要多个数组时优先用带含义的命名方式)
#include<bits/stdc++.h>//C++的万能头文件,一个顶多个
using namespace std;
//1ex+y=10^x+y,常用const 来修饰常量N
cosnt int N = 1e5+10;//一般加大一些防止越界。
int T;
int n;
int main(){
cin >> T;
while(T--){//常用while(T--) 表示案例的减少
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i] >> endl;
}
for(int i = 1; i <= n; i++)
cout << a[i] << " " << endl;
return 0;
}
基本上每一个算法题,都需要用到这些变量中的一个或者多个。
2. 关于题干的变量
题干的变量用具体的含义来命名
题干的一些名词变量,用本身含义命名,如:
apple、
price
...
学了一些算法后,可以用算法相关的来专门命名,如:
dfs——表示深搜
bfs——表示广搜
dif——表示差分
...
需要注意的是:以下变量会与algorithm.h库中函数重名,需要进行一定修改
count——cnt
min——minNum
max——maxNum
...
二、使用缺省模板
用缺省模板,可以在编译器中新建c、cpp文件时自动生成设置好的常用模板
不同的编译器可以专门去搜索一下如何设置,以下给出几个常用模板
当然模板随自己喜欢的修改即可!
简化版:
#include <bits/stdc++.h>
using namespace std;
int main()
{
return 0;
}
基础版:
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
#define EPS 1e-6
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int main()
{
// freopen("input.txt", "r", stdin);
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
return 0;
}
三、摆正学习算法的心态
学习算法最关键的还是老老实实刷题!!!
培养好良好的习惯与风格只是学习算法的调味剂,多刷题才是最重要的!!!