問題のlzoiレースシミュレーション・ソリューション

質問:出席タイトル
オリジナルタイトル:タイトルmtoiリーグ
オリエンテーション:真の看板タイトル(タイトルまたはBのD1Aタイトルの人気を高める)。
テストサイトを:基本的な数学的能力の選手の
難易思考:改善-
コードの難易度:人気タイトル

ソリューション:80%:列挙暴力
100%:ノート(XOR b)は<=( + b)は、 排他的論理和までのすべての数字。

問題B:サブテーマ送る
D2A [多機能省と地方のチーム]::レザーとオリジナルタイトルの
位置を:リーグタイトルD1Bは、プレイヤーの基本的なスキルを調べました。プレイヤーに70点を送信します。積極的なアプローチを取得する溶液の二種類の70%が拡張することができる
カウント、よりバックパックDP:テストサイトを
困難思考を改良
コード困難:増加を+

いくつかの以前の暴力列挙データが解決することができます。
データの50%:DPを考えてみましょう。[I] [X] [Fを設定する yは] 私は、xがある青いキャンプを選択する前に学校を表し、yはアヒルの派閥を選択しました。彼は簡単にシフトしました。あなたは、スクロール配列の最適化を使用することができます。
追加データの20%:留意のk = 0、そして「キャンプを選択して、」これら二つの操作は非干渉されている「派閥を選択」を見つけます。次に、あなたが直接行うことができます。
昇順の都市番号に従ってすべての学校を考えてみましょう。
[I] [J]セットF I DP都市を表し、Jを有する青色のキャンプの数を選択します。
G [I] [J] DPがjを有するアヒルの派閥の数を選択し、i番目の学校を表しています。
これは、通常のバックパックに合わせて転送することができます。それからちょうど乗算原理を使って答えを計算します。
100%のデータ:すべてのデータのk <= 30留意のでメンター少数のようには学校はありません。DPは別々に抽出することができます。
しかしFの上方に、gはに変形することと定義される:F [j]はI DP都市(学校のプリファレンスが存在しない)(私がスクロールする)を表し、Jを有するアヒルの派閥の数を選択します。
G [J] DP i番目の学校(問わない)を(私がスクロールする)を表し、Jを有するアヒルの派閥の数を選択します。簡単にシフトさせることができます。
[i] [j]は、現在の都市を表し設定F1を考える青いキャンプで(学校の少なくとも好みがなければならない)、およびアヒルjは派閥内の個人がある番号スキーム(Z [i]は-jでの個人的な派閥があります) 。セットF2 [i] [j]は、現在の都市は赤いキャンプで(学校の少なくとも好みがなければならない)を表します。Jと有する派閥プログラムの個々のAP([I] -j個々派閥zの)数。
各DP f2の後に統合F1への貢献を考えます。
たびに、F2、F1への最初のコピー。
そして、自分の好みに応じて転送され、すべての学校を、列挙。
F1を終えアップデートでは、f2の後に、この都市は赤や青のキャンプキャンプを選ぶ列挙することができます。F1 [XA [I]] [使用 Y] + F2 [X] [Y] 更新F1 [x] [y]を
(こののフロント意義は次のとおりです。すべてが赤いキャンプを選択している:すべてが、後者はある意味、青いキャンプを選択しています)。
最終的に列挙X、Y、F1 [X] [Y]とFと、Gは答えを更新します。
ピット:学校の都市、またはわずか20ポイントをスキップしません。

Cタイトル:水の質問
原題:loj NOIPシミュレーションゲームD1Cタイトル:ツアーの
オリエンテーション:D1Cリーグのタイトルは、プレイヤーの思考能力を調べます。さまざまなアルゴリズムの効果。
テストサイト:二分法、マトリックス乗算、乗算、DPのような
難易度の考え方:増加+
コードの難易度は:改善するために-
データの前に:ブラインドDP、盲目の列挙、人々は(このアプローチを考慮していない質問(移動)実際には、書き込みが弱すぎるではありませんアウト)。いくつかの部分には、ポイントを得ることができます。
アルゴリズムOUT:fをしてみましょう[i] [j]は今私の観光スポットで表され、I、Jの余剰ドルは、あなたが最大距離を取ることができ光景に燃料を補給するようにしてくださいされています。
J <P [i]は、次いで、F [i]は[J] =あれば 0。
それ以外の場合は位置jを給油次の列挙。以下の伝達方程式得る:
F [I] [J] =最大{F [K] [JP [I] + W [I]を[J] [分(C [I]、C)]}
説明:Kでありますwは、都市を給油する次の[I] [J] [k]が経過がjに、Iから離れる最大k個の道路を越えない表します。
Wは、[] [] []暴力DPを算出してもよいです。iを出発都市Lとすることができる列挙することができる
[L] [j]は[W次いで、 K-1] [I]、[J] [W転送することができる K]。
しかし、暴力DP遅すぎます。考えてみて倍増しました。
状態の定義を変更する:
W [I] [J] [K]は、Iを表す> 2 ^ kのスルーjが最大距離のパスを超えません。Lは、転送のための通過点を列挙することができます。方程式:
W [I] [J] [K] =分{W [I] [L] [-K 1] + W [L] [K] [K-1]}
この計算は、実際の行列乗算であることに注意してください*分を取るに+、+交換し、事実が連想されます。
前処理はW [i]とすることができる[J] [ K]( 即ち、行列を記録)。
[I] [J] [wは尋ねられたとき分(C [i]は、C)]、 回答によってマトリクスの1×nの行列を使用してもよいです。[1] [i]のビットの値1×nの行列は、他方は無限大である、0です。分(C [i]は、C ) バイナリ分割マトリックスに対応するビット毎に乗算されます。
F [i]は[]単調に着目し、任意の二つの整数をJ、K(j <k)をとり、 [I] [J] <Fである = F [i]が[K]。(実際には、「より多くのお金を私から始めて、あなたはさらに行くことができる」です)。あなたは、Fしてもよい[i]は[]前半位置D Pよりも大きくなる、Q Pが回答を減算することによって得ることができます。
上述のように、各クエリのために処理することができます。

概要:これは昨年よりわずかに小さいことが困難であり、D2、D1は昨年レースシミュレーションよりも大きくなっています。基本的なスキルテストの選手を中心に。
平均的なプレイヤーのために、10分には、長い後に考えて、特定の問題は、あなたが外に考えることができる
バックパックのDPの人気限り、Bグループのタイトル、あなたは50ポイント、良い結果を得ることができます。そして、それだけではk = 0に注意することは、選択とキャンプの派閥は、70ポイントを得ることができ、互いに独立して選択します。
問題Cは、カジュアルな暴力が良い結果に至るまで、0から60まで得ることができますファック。
1 =私は160から130の間のラインを期待します。240分にわたって、いくつかの選手、AKの少ないです。
タイトルを書くときに、いくつかのポットは、条件を逃した問題は、後に注意します。
後半朝起き、タイムリーに学生についての質問に答えませんでした。そしてまた、ここでいくつかのデータポット、謝罪があります。

おすすめ

転載: www.cnblogs.com/rilisoft/p/11518682.html