知识点速过提纲
做出暴力题的基本语法
for,while,cin,cout,if
略(●'◡'●)
常用algorithm库函数
#include<algorithm>
max(x,y);//返回最大值
max(x,max(y,z));//技巧
min(x,y);//返回最小值
abs(x);//x绝对值
swap(x,y);//交换
reverse(it,it2);//迭代器或数组,在[it,it2)范围内元素反转
sort( )函数
sort(首元素地址,尾元素下一个地址,比较函数);
//不加比较函数默认从小到大
bool cmp(int a, int b){
return a>b;//当a>b时候把a放在b的前面
}
常见的对string的应用
高精度的基本思想
公约数与公因数、排列组合
深度优先搜索
深度优先算法的通用模板
返回值类型 dfs(参数) {
if (终止条件) {
存储结果/返回;
}
for (选择 : 选择列表) {
if (剪枝条件) continue;
做选择;
if (dfs(新参数))
return true; // 如果只需要一个解
撤销选择;
}
return false; // 或其他适当返回值
}
小技巧
提高输入输出效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
是 C++ 中用于优化输入输出性能的一种方法。它的作用是关闭 C++ 标准流(如 cin 和 cout)与 C 标准流(如 scanf 和 printf)之间的同步。
是一种优化输入输出性能的技巧,适用于需要频繁使用 cin 和 cout 的场景。
一旦关闭同步,就不要混用 C 和 C++ 的输入输出函数
十五届题型统计
填空
一 握手问题
简单数学,排列组合计算
二 小球反弹
数学,暴力搜索答案可解
三 好数
暴力,字符数字转换,
四 R格式
高精度,string
五 宝石组合
最大公约数/公倍数,