どのようにACMアルゴリズムの問題のうち?

本論文の背景

自分自身の経験の一部をまとめたアルゴリズムの能力が、地方や地域ネットワークトーナメントの試合のためにレースのいくつかの質問は、私はあなたと共有したいと考えています。この記事では、具体的な質問アルゴリズムを扱っていない、いくつかの理論的なアイデアや提案があります。

元のタイトル

あなたは、自分の状況のタイトル源の不在下での新しいタイトルを思い付くことができれば、また難しいの記事を参照してくださいする必要があります。問題のソースは、私は必要性のポイントに話題を信じて、質問のうち最初のステップであり、そしてあなたがこのブログを読んでいるがおなじみの話題のブラシサイトを持っている必要があり、そしてこのサイトは理由馴染みの、あなたの問題の源として使用することができます。私は2つの質問元のサイトをお勧めします。

英語のタイトルソースのウェブサイトCodeforce

中国のタイトル元サイト51nod

問題の原因は、被験者が3つのOへのソリューション(N ^ 2)を有することができるすべてのソリューションを書くことができるだけ確認する必要があります取得し、Oこれら三つの溶液の(nlog(n))は、O(n)は、もしあれば、あなたは、少なくとも、彼らが十分な理解を完了することができ、他の人の答えを読んだ後、取得する必要があります。

少数の一環として疑問が、話題だけではないの懸念など、これらの部品があります:

  1. トピック名。英語や中国語のいずれかで、必要なトピックによります。
  2. 複雑さの要件。時間と空間の複雑さの要件は、一般的な時間の複雑さがより重要です。
  3. タイトル説明。また、タイトルやキャプション意図表面を呼ぶことができる、一般的に物語の場合について説明する。物語は、グラフィックや抽象的な数学的手順で問題を説明しない場合があります。
  4. 入出力フォーマット。一般的に、入力データ等を記述する入力ライン、出力ライン会計を占めました。
  5. 入力と出力のサンプル。
  6. タスクは、Notesを提示します。一般的なサンプルの説明、または特殊な形式のトピックを示唆しています。部分が省略されてもよいノート。
注意:あなたは半分読み取ること論外行ってきましたので、私はここに事前に注意事項を記述していきます。それは次のとおりです。あなたは問題または類似の問題のトピックとソースで検索されていない百度、Googleや他の一般的なブラウザに良い話題のトピック名、タイトルの説明、入力、出力、などを確認する必要があります。

問題の適応の意味

対象記述部で適応、についての質問の意味、以下の4つの戦略を提供します。

  1. 特定の具体的な(オブジェクト転送の説明)特定の人か何か、操作のいくつかの種類の対象となることがあり、あなたは、最近のイベントの数、またはあなたの学生より身近なものに移さこの特定のイベントまたは特定の人を、使用することができます。たとえば、次のように教師としてのあなたの団体やグループへのオブジェクトの説明や話題なので、より良い、より興味深いトピック。
  2. 具体的な抽象化あなたがオブジェクトを記述するためにあまりにも多くの問題を転送する場合は、記述するために、いくつかの抽象抽象的な数学モデル、グラフィックの配置、衝突、迷路などに、直接数学的モデルを受けることができます。
  3. 抽象抽象化また、転送の方法の目的を使用して、あなたは数学モデル、別のシーンへの数学的モデルとなり得ます。
  4. 抽象コンクリートこれは、元の抽象に基づいて詳細に説明します。オリジナルは、水の問題であるならば、あなたは英語の読解力の質問にこの質問を適応させることができ、アルゴリズムの英語の部分はACMコンテストで読むことを忘れないでください、話題のタイトルを読むことは前提条件を行うことです。

入力と出力の適応

  1. 前提タイトル入力ソースを増やし、あなたが質問の別のセットへの入力ソースを変更することができ、被写体の難易度を高めるために、関連する入力を入力してください。たとえば、問題は、あなたが障害にそれを入力することができ、ソース入力番号をソートされます。
  2. 前提条件の減少タイトル入力ソース、直接の後に新たな問題点として入力されて処理され、元のタイトルのうち、入力データ。
  3. どちらの場合にも出力、それぞれ難易度増加を減少させるが、省略されています。
  4. 入出力フォーマットも角度から適合させることができる特定の改変が、条件付き出力モード[A]からなることができる後に、( - >出力- >入力-入力>出力は、繰り返し) -全て、>出力パターンと、[2](入力なりますデータは、入力または出力の時間であること、または記憶)加工工程を増加することを意味増加しなければなりません。もちろん、この操作は可逆的です。

適応の複雑さ

  1. 要件の複雑さを変更し、溶液上のO(nlogn)の複雑さのうちカードは、対象の難しさを増します。例えば、元の要件2000ミリ秒は、あなたが500ミリ秒又は1000ミリ秒に変更することができ、特定の状況、500ミリ秒の典型的に整数倍に応じて特定の値。
  2. 入力と出力の要件を変更し、データの入力と出力の大きさなので、より複雑または単純なタイトルを増減。
  3. データサイズ要件変更だけでintとしては、このような元のデータ10 ^ 9などを、。あなたはデータサイズが10 ^ 18で、それが唯一のlong long型で保存することができます変更する場合は、いくつかのソリューションを動けなくなることがありますが、変更すると、データサイズが10 ^ 5である、そのようなハッシュを使用するなど、いくつかの慣行より以上であってもよいですテーブル、その後、接頭辞と接尾辞処理、などが挙げられます。
  4. データ型の要件を変更します元の入力intは、あなたが逆に難易度を減らす、いくつかの困難を追加することができ、それはダブルまたはfloat型に変更されます。

上のタイトルのために修正され、我々は、検索エンジンは良いトピックを変更するために検索することができないようにする必要があります。

サンプルを生成する方法

入力データを生成し、

一般的に、我々はファイルに保存されている約20のグループのサンプルを、必要とします

  1. まず、境界入力のいくつかは、あなたがそのような国境の状況、特殊な状況として、自分自身を追加する必要がなければなりません。
  2. あなたは、データ入力境界の比較的少量を追加すると、データのいくつかの大規模な量を入力し、手動で境界線を追加することはできませんがあるかもしれない、あなたが追加し、コードを書くことができ境界線は、データ入力の量を制限します。
  3. 残りは、Python、ランダムに生成されたサンプルの異なる注文を可能にするコードを書くことができます。例えば、データサイズのあなた量は10 ^ 6は、データボリュームの複数100、1000個のデータ量、データ量10 000 100 000データの量、入力データ1,000,000量を生成することができます。

出力データを生成します

あなたの標準的なプログラムで生成された入力サンプルの20セットは、ファイルに出力するには、サンプル出力として保存します。ここでは、あなたの標準的なプロセスの正しさだけでなく、(トピックの説明に沿って)入力と出力の正当性を確認する必要があります。

質問を行う者は、WAされているように、あなたは、唯一のルーチンデータを思い付くことができます。参加者のACようにするには、トピックの説明を思い付くためにグループ内の良好な入力と出力を生成する必要があります、もちろん、あなたは、特定のデータを思い付くことができます。以下に示すように、仕様書生成という名前の良い例:

この画像は、私のCSDNのブログから再生しました:

+ OJ実際に実行されている標準的なプロセスのサーバを書きます

基本的に終了し話題、上記のこのいくつかをやった後、あなたはその時間と空間を確保し、これらのデータやサンプルは、サーバーOJ上で実行する必要がある要件に沿ったものです。テストでは、あなたは、いくつかの複雑さは、すべてのソリューションの生存率のトピックを確保するために、再度サーバー上で実行することができます想像するソリューションが必要です。

概要

問題のうち地方大会への私のシニア年は、難しいことではありませんが、データ処理の多くは、チームが詰まりました。

私は良い質問です質問で差別があり、それがより身近な、または問題の時間計算量の最適化をより身近ないくつかの高度な操作、データ処理をできるようになると思います。

唯一の詰まった暴力的なソリューションチームが必要な方。

私はあまり覚えて当分の間、バックも更新することができる、終了した経験を共有しています。

私はあなたが対象のうち、自分からこのブログを読んで、皆を満足することができます願っています。

おすすめ

転載: www.cnblogs.com/zhangjiuding/p/11334926.html