以下是竞争编程中的每个初学者都应遵循的一些基本C++技巧,以提高速度。但是,竞争性编程只能通过时间和大量实践来掌握。这些技巧只会帮助您在比赛中节省一些时间,有时候这很重要。
- 使用auto关键字声明数据类型可以在编程竞赛中节省大量时间。
当将变量定义为auto时,编译器可以自行确定数据类型。
范例:auto a = 100; // a will become 'int' auto b = 1LL; // b will become 'long long' auto c = 1.0; // c will become 'double' auto d = "variable"; // d will become 'string'
- watch宏是有史以来最有用的技巧之一。
#define watch(x) cout << (#x) << " is " << (x) << endl
如果要调试代码,请观看(变量);将打印变量的名称及其值。 (这是可能的,因为它是在预处理时间内构建的。)
- 使用typedef可以节省您的大量时间,您可能会花费一遍又一遍地重写相同的代码片段。
范例:typedef long long ll; typedef pair w; typedef vector va; typedef vector vb; typedef vector vc;
- 有一个内置函数可以评估两个数字的最大公约数。它称为__gcd() ,它存在于算法头文件中。要了解更多信息,请参阅:https://www.geeksforgeeks.org/stdgcd-c-inbuilt-function-finding-gcd/
- 使用“ \ n”添加新的换行符比使用“ endl”要快得多。
- 如果在代码的开头使用ios :: sync_with_stdio(false) ,则使cin和cout的速度与printf和scanf一样快,但是您将无法再使用printf和scanf 。
如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。