c++程序优化

   日期:2024-12-25    作者:fchuangjh 移动:http://oml01z.riyuangf.com/mobile/quote/15209.html

目录

一.问题带入

二.快速读入

三.其他优化方法

1.优化函数

2.万能头文件

 3.常量

4.寄存器变量

四.总结

感谢各位大佬的阅读


最近在做一道用归并排列的排序的题,它是这样的

输入n个数字a[i],输出这些数字的第 k 小的数。最小的数是第 0 小。

刚开始,我以为这就是一道普普通通的排序题,于是

 

可是

 当我重新看这道题时,才发现了这个条件

本题最多设计输入5000W个数字,需注意读入优化。

,该怎么优化读入呢

对于cin输入来说,通常输入1000W个数字需要1s的时间,而scanf的输入效率比cin快约2-3倍,但依旧不够快。而众所周知,字符的输入速度比数字要快很多,所以我们可以先以字符的形式读入再转换成数字形式。

代码

 

在经过排列的优化以及快读之后,上面那道题的正确代码就变成了这样

 

然后

AC啦

当然c++它也有自带的优化方法,现在我就来讲解一下我们最常用的几种

1.优化函数

我们可以通过c++自带的优化函数进行优化,以下是我从各大网站上找来的各种优化函数

 

2.万能头文件

在平常的编程中,我们也可以通过使用万能头文件降低复杂度。平常我们编程时经常需要这样

 

但是用了万能头文件之后就变成了这样

 

:但是并不是所有OI竞赛都支持使用,所以还是不太推荐在竞赛上使用。

 3.常量

如果要存储一个在程序中不会改变的量,可以用常量来定义,比如

 

4.寄存器变量

register 是 C++ 中的一个关键字,用于请求编译器将变量存储在寄存器中,以便提高访问速度。然而,在现代编译器中,通常不需要使用  关键字,因为编译器会自动进行优化。实际上,C++17 标准甚至已经移除了对  关键字的强制性要求。

使用  声明变量时与运用别的变量不同,它的语法如下

 

在c++中,可以使用不同的方法啊呼出各种变量的纸。

输出整数

 

输出浮点数:

 

输出双精度浮点数:

 

输出字符:

 

输出字符串:


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号