OI心得::学会经常使用类,重载运算符和库。
来源:互联网 发布:网络电视32寸多少钱 编辑:程序博客网 时间:2024/06/05 11:20
前不久遇到了一道关于高精度的题,结果被虐的很惨。在这里,我对@snacking在湖南师大附中的洛谷团队上发布了这道题表示感谢。
在尝试解题的过程中我尝试了比较传统的基于过程的解决方案,结果30分;然后我又尝试了基于函数的解决方案,然后80分躺枪。
最后,我尝试了百度百科上面的基于结构体和运算符重载的解决方案,结果轻松AC,并且效率达到了AC结果中的最高水平:耗时:6ms;内存:16.4mb;比最佳算法就内存高了点(0.1mb)。
可见使用这种方法是十分可取的。
然后,就是不停地看代码,理解代码了。
我们竞赛老师说什么竞赛不需要什么面向对象的编程技巧。其实不然。事实上,学会如何去使用类,重载运算符以及库,能够使我们的程序更加简洁,高效。我记忆最深刻的就是pb_ds库,在这个库里提供的排序函数比STL中的sort要高效的多。因为库里面的函数都是封装的,因此而我们用库进行编程时,代码会简洁明了很多。我就曾碰到过一个题目,自己手写代码用了近百来行,用pb_ds库却只需要短短十几行。并且效率还特别高。
学会并经常使用类和重载用算符还有利于对程序进行维护。因为并不是你随便写几个代码就一定能编译成功并AC的,难免会遇到一些问题。利用封装,你可以迅速查出是哪个部位出现了问题,从而快速地进行优化程序。
封装还有一个好处,那就是便于程序的编写。由于是封装的,所以你完全可以将编程模块化。先将程序的框架搭起来,再对细节进行补充。用这样的方式,不但快速,而且有助于降低程序员的错误率。
总而言之,我们要学会经常使用类,重载运算符和库,使我们的OI水平跟上一层楼。
0 0
- OI心得::学会经常使用类,重载运算符和库。
- C++ 类的重载运算符和priority_queue综合使用
- 使用类-运算符重载和友元
- 下标的使用和运算符重载
- 运算符重载和模板的使用
- C++运算符重载的心得
- 运算符重载使用
- 重载运算符 ++ 和 --
- 类之间使用运算符重载操作
- c++语言 运算符重载 使用重载运算符实现类的加法运算
- 抽象和类,this,运算符重载
- 运算符重载和普通类
- C#运算符重载和方法重载
- 【C++】重载运算符和重载函数
- C++ 重载运算符和重载函数
- C++ 重载运算符和重载函数
- 重载运算符的使用~~~
- 类运算符重载
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_4
- 11.3.5
- c指针应用:键值对"key=value"字符串,在开发中经常使用
- 算法训练 5-1最小公倍数
- win10,ubuntu双系统和win10,红帽双系统的安装的异同
- OI心得::学会经常使用类,重载运算符和库。
- nginx配置虚拟主机
- Matlab编程与数据类型 -- 开关语句switch/end
- CodeForces 762F. Tree nesting
- 【Android】Android中的RecyclerView的基本使用
- MaterialDesign主题出现闪退现象
- 【Untiy&射线】射线基础
- 我眼中的AJAX
- go语言快速入门:简介(1)