Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

競技プログラミングで効率的にC/C++コードを書く


競技プログラミングでは、最も重要なことは効果的なコードです。最適化されたより高速なコードは重要であり、プログラマーのランクに違いをもたらす可能性があります。

競技プログラミングで効果的なc/c ++コードを作成するために、c /c++コードを効率的に作成するための効果的なツールをいくつか紹介します。

まず、いくつかの基本的な用語を思い出してみましょう。

  • テンプレート 特定のタイプに依存しないコードを書いています。

  • マクロ 名前付きコードフラグメントです。

  • ベクトル 要素の挿入と削除でサイズを更新する、自動的にサイズ変更可能な動的配列のようなものです。

それでは、コードの効率を高めるためのコードの基本的な更新をいくつか見てみましょう。

  • より高速な入出力方法の使用はc/c++です − scanf / printfは、より高速な入出力メソッドです。

  • 最大値と最小値を使用した変数の割り当て − min-max関数を使用すると、労力が軽減されます。

  • 範囲ベースのループの作成 −効果的なコーディングのために、配列とベクトルの範囲ループを使用してループを反復処理します。

#include<iostream>
using namespace std;
int main() {
   cout<<"Iterating over array using ranged array: ";
   int array[]= {6, 10, 31, 17, 50};
   for (const auto &value: array)
   cout<<value<<" "; return 0;
}

出力

Iterating over array using ranged array: 6 10 31 17 50


  • 適切なヘッダーファイルの使用 −一般に、C ++プログラミングには、プログラムにさまざまな機能を含めるために使用されるさまざまなライブラリがあります。ヘッダーファイル:#include には、競技プログラミングで必要なほとんどすべてのファイルが含まれています。ただし、プログラミングでは、このライブラリを含める前に、これらの関数のいくつかが必要であることを確認してください。そうしないと、コンピューティングスペースを占有する可能性があります。


  • コンテナを使用してスペースを削減する −競技プログラミングの多くの問題を解決するために使用される、ベクトル、マップ、リストなどのコンテナ。これらのコンテナに事前定義された関数を使用すると、コードのサイズが小さくなり、コードがより効果的になります。

  • データ型はコンパイル時に定義されるため、autoを使用してデータ型を宣言します。


  1. 競技プログラミングのためのC++のトリック(C ++ 11の場合)?

    ここでは、さまざまな分野で役立つC++プログラミング言語の優れたトリックをいくつか紹介します。競技プログラミングイベントに参加したい場合のように、これらのトリックはコードを書く時間を短縮するのに役立ちます。これらの例を1つずつ見ていきましょう。 %演算子を使用せずに、数値が奇数か偶数かを確認します。このトリックは簡単です。数値と1を使用してビット単位のAND演算を実行できます。結果がゼロ以外の場合、これは奇数です。それ以外の場合、これは偶数です。ロジックが単純すぎます。すべての奇数はLSbで1になります。したがって、ANDを1で実行すると、LSbを除くすべての文字がマスクされるため、目的

  2. 競技プログラミングのためのC++トリック

    ここでは、さまざまな分野で役立つC++プログラミング言語の優れたトリックをいくつか紹介します。競技プログラミングイベントに参加したい場合のように、これらのトリックはコードを書く時間を短縮するのに役立ちます。これらの例を1つずつ見ていきましょう。 %演算子を使用せずに、数値が奇数か偶数かを確認します。このトリックは簡単です。数値と1を使用してビット単位のAND演算を実行できます。結果がゼロ以外の場合、これは奇数です。それ以外の場合、これは偶数です。ロジックが単純すぎます。すべての奇数はLSbで1になります。したがって、ANDを1で実行すると、LSbを除くすべての文字がマスクされるため、目的の結