7月の良好なレコードタイトル

Codeforces 1063 B.迷宮

[]決定的迷路与える((1 \ n型のLeq、m個の\のLeq 2000)\)\の各点から開始点を見つけるために、左移動の数以下で行うことができない\(X \)回、右移動の数を以下\(Y \)点の場合に達した回数。

各ポイントで到着時にできるだけ少ない移動回数が、維持が困難二つのキーワードについて尋ねることが明らかに貪欲。実際には、開始を決定し、ポイントを終了、左移動および決定所定回数を移動する権利の数を決定します。左に動きの数を最小限にするために、左端から始まる場合、右端場合起点、まだ左に動きの数を最小限にすること。もちろん、動きの数を最小化する権利の両方であってもよいです。これは、我々はそれだけで1の最小値を必要とすることを教えてくれる。BFSは、直接チームにメンテナンスを更新するために繰り返しました。

リフレクション:不確実性。平面の距離を理解するため。

Codeforces 1019 A.選挙

[]が考えリバース\(N \)への個々の\(m個\) パーティ投票N-のLeq、m個の\のLeq 3000 \)\ \(1)。最初の\(私は\)する個々の\(P_I \)党の投票は、あなたが過ごすことができます\(C_I \)彼は投票対象(変更)を変更できるように賄賂を。私は、少なくとも1つの党の勝利を作るために過ごすためにどのくらいのお金尋ねました。

正のハード思考。最小コストを決定し、最後の投票の後に1以上で過ごしパーティ多くのお金を、このような状態に到達するために決定することができ検討するので、列挙1つの党の票、貪欲計算。複雑\(O(^ N-2)\) 具体的には、パーティのための1票に設定列挙\(k個\)は、すべてのために\(a_iを\ GEQ K \) 最も高価なカットを選択し、カットオフする必要があります。あなたは後に一緒にこすりことができない場合、彼らは人々の最も安いが、ラインに乗る選びました。

リフレクション:ポジティブだと思うことは困難である会話を選択します。

ハッシュタグのCodeforces 777 D.クラウド

[DO]は後方から与えられる\(N- \) 削除することができる光)、文字列の順序を変更いくつかを削除することにより、各文字列の任意の拡張を可能にすることなく、文字列、Q合計最小削除しますすべての辞書式順序でいくつかの文字列。

二つの文字列間の相対的な関係を考えてみましょう。文字列の辞書の小さな注文後より前の文字列を作成するには、その後、その後、うまくマークちょうど別の場所(または終了)への最初のスイープ後から行きます。私はそうするように前後を考えます。しかし、これは小さいの後ろに一度、辞書編集ので、それは以前のすべてに影響を与えるだろう、問題になります。正しいアプローチがある从后往前そうします。

リフレクション:どのような順序では、把握したいです

Codeforces 442 B.アンドレイと課題

プッシュ式[貪欲]き\(N \)個体、\(iは\)個体\(a_iを\)同意の確率、\(1-a_iを\)確率は反対します。たった一人の確率が最大に合意されたように、一部の人々は、どのように選択するかを尋ねます。

我々は、一連の選択されたとし\(S \)次に、確率\(\和の\ limits_ {iが Sで\} [\ dfrac {a_iを} {1-a_iを} \ PROD \ limits_ {Sでj個の\を}( a_j-1)] \) オーダー\(B = \のProdの\ limits_ {IがSで\}(1-a_iを)\)、\ (S = \ SUM \のlimits_ {IがSで\}の\ dfrac {a_iを} {1-a_iを} \)確率\(SB \)

今の添加検討\(\ a_k) 回答の考え方の変化、次に量(\ \デルタ=(S + \ dfrac {a_k} {1-a_k})\のCDOT Bの\のCDOT(1-a_k)-SB = B(1 -S)a_k \) 限り\(S <1 \) その後、選択し\(a_k \)答えは大きくなります。

次に、選択した方法を検討します。私たちは貪欲考えるならば、明らかに最大の選択\(\ a_k)最高になりますが、私たちは(\ a_k)\仕分けまで選択肢を降順(S GEQ \ \ 1)\をこれまでのところ、複雑\( O(N \ N-ログ)\)

なぜ貪欲こと、それは矛盾によって証明することができます。

リフレクション:数学の問題は、公式には良い選択です押してください。考える:各加算計算\(\デルタ\)を合計回答を得ました。

Codeforces 1096 D.易しい問題

最初の削除、文字列を与える[DPステータスが思考を作り、定義されている] \(私は\)文字のためのコストを\(a_iを\) Q.どのくらいの元の文字列に存在しない列を作り、少なくともコストを過ごすにはhard(ないストリング、それはあなたが連続することはできません)

それぞれの新しい文字のミックスに追加し、そうでない場合はhardあなたのいずれかが制御できません。あなたがいることを追加した場合d、我々は、直接これを破壊するdか、フロントが存在しないように、フロントを破壊しますharフロントには存在しないしたいhar、必要であるr追加したときと同様のことを行います。だから我々は、DPを選びました。オーダー\(dp_ {I、J} \) 前方を表す\(Iは\)の位置、長さ破壊\(J \)プレフィックス(連続でなくてもよい)最小コストを。従って、2つの以前の決定、そこによれば\(dp_ {I、J} = \ \分{{I-dp_ 1 ,. 1-J}、{I-dp_。1、a_iを+ J} \} \)答えは\(\分\ {{N-dp_、J} \} \)

リフレクション:定義と状態の性質。この質問は、まだ明確に考える必要があります

惑星Luogu P2336ニャーに名前付き

INDUSTRIALタイトル、問題の範囲に接尾辞配列、差動思考]があります\(N \)個人、二つの文字列を持つ各。与えます\(m個\)文字列は常に二つの文字列1のこの文字列にどのように多くの人が、聞いて聞いて与えられ、一度尋ねたが、あまりにも登場。クエリ出力後の回数に皆を求めています。

まず、所有者と一緒に、文字列とSAを行う(文字を挿入するための中央を)お願いします。セクションの後のセクションを選別各クエリサフィックスに対応する、事前拡張色の各々は、人としての各点は、各色に覆われている回数と、色セクションの数に変換するために属します。かつてのチームが違いを考えるのMoと直接解く:たびにカバーし、プラス残りの貢献を数回に答えるためにあなたを求めて、残すたびに、数回引い残留貢献に答えることを求めました。

リフレクション:トータルにリンクされている問題の接尾辞配列と範囲

Codeforces 988 D.ポイントと2のべき乗

結論は、[タイトル]は、任意の二つの要素を満足を満たす最大のサブセットを選択し、列の数を与える\(| a_iを-a_j | = 2 ^ D、(D \のGEQ 0)\)

サブセットサイズは3を超えることはできません!サイズ3のサブセットのために、彼らはの両端から等距離でなければならないのでそれ以外の場合は2のべき乗ではありません。したがって、とmapその後の暴力の記録と裁判官にインデックスを列挙。複雑\(O(N ^ログ\ \)2Nを)

反射:おおよその大きさの回答(可能な値)を決定するのプロパティを使用して

Codeforces 375 B.最大部分行列2

【同様のアイデアタイトルの取得; 01貪欲(行列を与える。\(1 \ N-のLeq、m個の\のLeq 5000 \)配列)、ラインを任意に交換することができます。全サブ矩形交換要求の最大可能面積後。

我々は、静的なサブ矩形の全体が1まで放置し、その後拡張スタック単調最も値に各点の数を維持することによって延長することができることを知っています。その後、我々はまだ、各列のこの値は解決シーケンスを行、この事を維持する可能性があります。

反射:遭遇した全サブ矩形の問題が拡張機能を維持することによって解決されるからです。そして、この質問はあまりにも遠くてはなりません。上記のこの考え方に反するために。

Codeforces 2 B.少なくともラウンド方法

[処理]二値与える\(n個の\ CDOT n個の\)左上右下(右または下)、パス数を乗算から来て、マトリックス。私たちが行くべきどのようにできるだけ0の最終結果。

番号2及び5因子の各因子の最初の数を処理します。次に重要な結論がある:最後にゼロの最小数、パス2の小さい最小値と最小パスが5です。これが問題に単一問題のdouble値の値を入れます。

リフレクション:二重の値は常に、取り扱いが困難です。

Codeforces 463 D. Gargariと順列

[図の構成、問題与えられた特性] \(K \)の長さの\(\ N-)配置(\ (1 \ n型のLeq \のLeq 1000,1 \のLeq K \のLeq 5 \)。 LCSを得ます)。

右列挙子。各ペアは、各配置における治療前の数又は逆の順序です。シーケンスの数のすべての順列のために同じである場合、この数は、LCSの一部として利用可能です。あなたは右のようなすべての番号を特定したら、取得\(DAG \)は、あなたが最も長いチェーンを見つけることができます。

リフレクション:DPは、DAGの本質です。だから、キーはそうここで何このDAGを把握することです。

Codeforces 449 B. Jzzhuと都市

[図は、内蔵され、最短パスのプロパティ]重み付き無向グラフ与えられました。次いで、得(K \)\のバーの長さ\(W_i \)\((1、R_iを)\ ) パス。求め\(K \)削除いくつかまでの経路を、最短1不変後に削除するすべてのポイントように。

これら\(K \)図におけるパスが実行添加\(ダイクストラ\) 統計的な程度に各点の最短パスがあります。これは続いて\(K \)の長さは確か省略最短に対応するものよりも大きければ、パス。正確に等しい場合は、1を削除することができるよりも大きい最短のルック、。そして、マイナス1度に最短経路。

リフレクション:この概念の最短は、最初の出会いです。

Codeforces 471 D. MUHとキューブの壁

[レビュー]差動一致する文字列定義された文字に一致する変更:二つの文字列のすべての文字間の差が同じです。一致の数を尋ねました。

のは、彼らは隣接する二つの差が同じであることがわかった特別なものをプロパティこの試合を分析してみましょう。だから我々は2つの差動文字列の配列を前処理することができ、その後、直接配列は違いがあることができます一致します。KMPアルゴリズムと(O(N)\)\完了することができます。

おすすめ

転載: www.cnblogs.com/qixingzhi/p/11237074.html