时间复杂度:
数量级 能承受的大致规模 常见算法
0(1) 任意 输出
O(logn) 任意 二分查找,快速幂
0(n) 以百万计(五六百万) 贪心,扫描,遍历
O(nlogn) 以十万计(三四十万) 分治:二分法
0(n^2) 以千计数(两千) 枚举:动态规划
O(n^3) 不到两百 Floyd,动态规划
0(2^n) 24 搜索
0(n!) 10 产生全排列
O(n^n) 8 暴力破解
常用 ASCII码:
'A'=65 '0'=48 'a'=97 (space)=32
良好习惯:
1.题意分析
2.分析求解过程
3.程序实现
4分析算法的复杂度
5.优化和总结
常用函数:
最大值:max(x,y) 最小值min(x,y) 绝对值 abs(x)
排序:(a,a+n,cmp) 反转:reverse(a,a+n) 交换: swap(x,y)
平方根:sqrt(n) 向上取整:floor(n)向下取整 ceil(n)
四舍五入: round(n)
输入:
1.scanf(“%类型”,&名称); 2.cin>>名称;
输出:
1.printf(“类型”名称) 2.cout<<名称;
低级错误:
1.未添加文件操作
2.未按要求输出
3.未强转,数据溢出
4.浮点运算精度丢失
5.忘写头文件
6.万能头包含错误
7.字符串和字符不分
8.赋值号等号不分
9.格式化输入输出不配
10.主函数没有 return 0
(蒟蒻的第一篇文章,请大家多多支持,多多包容,制作不易,点个赞再走呗)
标签:10,常用,输出,复杂度,知识,c++,取整 From: https://www.cnblogs.com/jason666666/p/17008774.html