首先,您需要了解模板,宏和向量,然后再进行下一阶段!
1.模板是通用编程的基础,它涉及以独立于任何特定类型的方式编写代码。
2.宏是已命名的代码片段。每当使用该名称时,它就会被宏的内容替换。
3.向量与动态数组相同,具有在插入或删除元素时自动调整大小的能力,并且容器自动处理其存储。
因此,我们可以使用这些强大的工具来有效地编写代码。
竞争编程中可以使用的一些很酷的技巧如下:
1.使用基于范围的for循环:在C ++ 11中,这是一个非常酷的功能,如果您想从头到尾进行迭代,则将是最好的选择。这段代码显示了如何使用range for循环遍历数组和向量:
输出:
0 1 2 3 41 2 3 4 5
2.初始化列表:此类型用于访问C ++初始化列表中的值。此外,编译器会根据初始化列表声明自动构造此类型的对象,该列表是用大括号括起来的逗号分隔元素的列表。
输出:
One Two Three
3.分配最大值或最小值:这一点有助于避免在编写max()或min()函数时花费过多的精力。
输出:
Max value = 11Min value = -9
4.C / C ++中的快速输入/输出:在竞争编程中,您必须尽可能快地阅读输入/输出,以节省宝贵的时间。
输出:
Input: 756Output: 756
5.将宏用作for循环:也许,使用此类宏会降低代码的可读性,可能会不好,所以要编写快速代码,您可能会进行冒险。
输出:
4 5 6 9 22 11 5 6 9 22 11 11 22 9 6 5 4
一些更重要的方面可以进一步减少您的时间:
1.使用“ bits / stdc ++。h”:无需添加大量的#include行,而只需使用#include 文件就包含了竞争编程中所需的所有头文件,从而节省了大量时间。
2.容器:使用各种容器(例如矢量,列表,地图等),使人们能够使用预定义的功能并显着减少代码的大小(通常是减少)
3.快速cin和cout:如果将cin和cout用于I / O,只需在main()之后添加以下行:
std :: ios_base :: sync_with_stdio(false);
4.自动:使用自动声明数据类型可以节省编程竞赛中的大量时间。将变量定义为auto时,编译器会在编译时确定其类型。
5.库和预定义函数:在任何适用的地方使用内置函数,例如__gcd(A,B),swap,_builtin_popcount(R),_ builtin_clz(R)等。
了解更多有关C/C++内容,免费领取学习资料以及教程请点击下方了解链接或者私信我: