Skip to content

Latest commit

 

History

History
7 lines (7 loc) · 926 Bytes

README.md

File metadata and controls

7 lines (7 loc) · 926 Bytes

华为软件精英挑战赛2020最优美代码奖

决赛代码里有硬编码了一些信息来加速,这里开源的是28号的一次提交。

模仿gnu里的pbds使用了一些policy based的编程技巧,巧妙的使用了cpp中的模板和继承,对代码进行了一定程度的抽象。对于测试数据一和测试数据二,代码可以选择不同的数据结构来优化。

在看过其他同学开源的代码后,发现我们的实现不一定是最优美的。希望各位同学轻锤。

反思总结

毫无疑问抽象是会降低程序性能的。我们自己封装的Vector类性能上比std::vector要优秀很多,但是略微劣于原生的数组。在使用了相同优化算法的情况下肯定是原生的数组更快。

cpp中的有“抽象零惩罚”这么一说。但是需要开动脑筋来进行设计。这也是导致我们后期乏力的一个原因。