ACM练级日志:微软编程之美比赛测试赛-3(高精度相关)
来源:互联网 发布:暖风机哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/05 18:54
微软的这个测试赛也不是那么水,看第一题那个不友好的A+B也就能猜出一二,第三题那个套着高精度的DP是无数NOIP小白的噩梦,包括我在内。不过学习了面向对象程序设计之后似乎对以前处理高精度的方法重新地认识了,发现如果用这种思想去对付高精度的话,事情会简单不少。
把高精度的数定义成一个struct是非常明智的。好吧,我对class还比较怀疑,所以暂且还是用struct吧,这样就可以把每个数的信息打包,用不着定义那么一堆数组了。而且还可以对它进行初始化,用一个行为函数就可以做到了,非常简单,不得不说面向对象的思想还是挺管用的。
最关键的是怎么算,一开始人们都喜欢写个函数算,比如SuperAdd(bigint a, bigint b),名字看起来挺酷的,不过在DP套高精度或者随便什么需要套高精度的里面这个就会非常麻烦,因为你肯定一开始是要用低精度写的,之后改高精度会异常困难。所以现在我改用重载运算符做,用bigint operator +(const bigint &a, const bigint &b)做,这样所有涉及到高精度的加法都会自动用这个加号做,而不会影响普通的加法,这样原来的所有运算符基本上都不用改,非常好用。
还有就是最近越来越觉得输出测试信息好用了,比一步一步慢慢跟效率不知提高了多少倍,只不过带来的风险是可能会忘了删调试信息,我的方法是在每个调试信息处写个TEST,并且用明显的//////////////括起来, 然后用Ctrl+F最后查找TEST并加一个*号就完事了。
最近开始准备把一些常用的公式,比如划分树那个区间缩小的计算公式写在本上,这样比赛的时候抄就行了。我是实在没弄懂那个区间缩短到底怎么算的。果然是比较愚笨啊。
- ACM练级日志:微软编程之美比赛测试赛-3(高精度相关)
- 微软2014编程之美大赛测试样题一
- (1)2014微软编程之美资格赛赛题
- 踩方格--2013微软编程之美挑战赛之测试赛
- (3)2014微软编程之美初赛第二场赛题
- ACM练级日志:ACM2013 南京网络赛
- ACM练级日志:set
- ACM练级日志:HDU 4735(ACM 成都网络赛) 重复覆盖与DLX
- ACM练级日志: POJ 1389
- ACM练级日志: POJ 1376
- ACM练级日志:HDU 4274
- 2013编程之美-测试赛
- 微软编程之美2014初赛第一场#3
- (2)2014微软编程之美初赛第一场赛题
- 编程之美 质数相关
- 微软编程之美--中国象棋将帅问题
- 2013微软编程之美预选赛
- 微软2013编程之美传话游戏
- 关于Android ViewPager与资源文件的矛盾关系
- EXC_ARM_DA_ALIGN问题
- Spark&Spark性能调优实战
- module.exports 还是 exports?
- quick-cocos2dx mac android 编译真机调试
- ACM练级日志:微软编程之美比赛测试赛-3(高精度相关)
- Accounting Flexfield Setup and Usage (Doc ID 124333.1)
- Python学习笔记01 从零开始Hello world
- android网络时间同步总结
- c++头文件使用规则
- ACM练级日志:模板的使用
- win7网络发现不能启用,无法共享其他机器的解决办法
- R12: Improving Performance of General Ledger and Journal Import (Doc ID 858725.1 )
- 一道百度笔试题