📜  竞争编程初学者的一些有用C++技巧

📅  最后修改于: 2021-05-30 07:53:40             🧑  作者: Mango

以下是竞争编程中的每个初学者都应遵循的一些基本C++技巧,以提高速度。但是,竞争性编程只能通过时间和大量实践来掌握。这些技巧只会帮助您在比赛中节省一些时间,有时候这很重要。

  1. 使用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'
    
  2. watch宏是有史以来最有用的技巧之一。
    #define watch(x) cout << (#x) << " is " << (x) << endl
    

    如果要调试代码,请观看(变量);将打印变量的名称及其值。 (这是可能的,因为它是在预处理时间内构建的。)

  3. 使用typedef可以节省您的大量时间,您可能会花费一遍又一遍地重写相同的代码片段。
    范例
    typedef long long ll;
    typedef pair w;
    typedef vector va;
    typedef vector vb;
    typedef vector vc;
    
  4. 有一个内置函数可以评估两个数字的最大公约数。它称为__gcd() ,它存在于算法头文件中。要了解更多信息,请参阅:https://www.geeksforgeeks.org/stdgcd-c-inbuilt-function-finding-gcd/
  5. 使用“ \ n”添加新的换行符比使用“ endl”要快得多。
  6. 如果在代码的开头使用ios :: sync_with_stdio(false) ,则使cincout的速度与printfscanf一样快,但是您将无法再使用printfscanf

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。