###蓝桥杯中基本不会用到指针
1.#include<bits/stdc++.h>//万能头文件
2.using namespace std;//释放std命名空间中的变量名,即可以使用c++标准库11
- 不加这个用cout会报错,因为cout没有在c中定义,他是c++里面的一个库函数
- 或者也可以这样写std::cout<<
3.const int maxn=1e5+5;//不会改变的量一般前面就加上const
- 一般不会有题目爆空间复杂度
- 爆空间的话一般是1e9
- 后面改变会报错
4.O(1) //O代表时间复杂度,1代表只进行一次操作
5.做题:先思考,再看题解,会了自己手敲一遍
6.经验:看清数据范围,不要读错题,按自己的节奏走
- double双精度浮点数
- int整数
- char ch=‘A’字符
- char[ ]="hello"字符串
- bool b=true判断变量//c++会把true等价于1
7.
- 在头文件下定义的数组叫全局数组会自动初始化为0
- 在main函数里定义它就是局部变量不一定为0
8.
- typedef long long ll //意思是把long long类型定义为ll方便后面使用
ll a[maxn]; //就等于long long a[maxn];
- typedef做不到宏定义的效果
- #define ll long long //表定义 遇到ll就替换为long long
- #define jie 1+2+3 //遇到jie就替换为1+2+3
9.#define int long long //long long1e18以内是可以的
- 这样全定义int为long long使用起来会很方便
- 后面不能写int main()这样就等价于long long main() //这里的long long是不能作为main的返回值的
- 一般会写为signed main() //这里的signed和int是一样的,只是为了防止报错所以这样子干
10.交换变量:
- int a=5,b=3;
- int tmp=b;
- b=a;
- a=tmp; //tmp是一个临时变量
或者用swap也可以
- swap(a,b);
11. 这里建议使用cin,cout不使用scanf,printf比较方便
- cin,cout的缺点输入输出较慢//当数据范围大于2e6的时候
- 这里需要做一个优化ios::sync_with_stdio(false)
- cin.tie(0);
- cout.tie(0);
- cin.tie(0);
- 尽量不要使用endl换行使用"\n",它会清空缓存区 //输出cout这部分的优化就会没有作用
12.读入一整个行字符用getline(cin,ss)
- string ss;
- getline(cin,ss);
13.string s1="apple"; //等价于char s[ ]="apple";
14.reveser(s.begin(),s.end()); //把字符串s翻转
- 左闭右开【1 2 3 4 5 *)*这个位置是不能访问的所以说还是到5这个位置
15.cout<<s.find("is"); //查找子串中字符串的位置
16.cout<<s.substr(5,2); //substr可以裁取出字符串的子串,从下标为5处截取2个字符串
17.cout<<s.replace(5,2,"is not"); //从下标为5处删掉两个替换为is not
18.cout<<s.erase(0,4); //从下标为0处删掉4个字符
19.cout<<s.insert(0,"insert"); //从下标为0处插入insert
- ###除reverse,insert外,其他操作对字符串本体是没有影响的
输入0输出1 输入1输出0:
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
char x;
cn>>x;
if(x=='0'){
cout<<1<<"\n";
}
else{
cout<<0<<"\n";
}
}
翻转数字输出:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);
reverse(s.begin(),s.end());
cout<<s<<"\n";
}
20.cout保留两位小数这样写:cout<<fixed<<serprecision(2)<<a<<"\n"; //即a保留两位小数输出
- 输入double如果为3.155 正常是输出3.16 但由于计算机精度问题会是3.1549999999 所以输出就是3.15