#588(本部1)ラウンドCodeforces

コンテストページ

いくつかの特別な理由がこれ以上......非常にタイムリーではありませんので

A

ソル 彼は削除しなければならないとき、誰かが皆をディス見つけることが困難ではありません。

人々はディスますどのように多くのものを皆を維持する、とき残りの$ -1 $に等しい数は、人々の数が入れキューをディスする場合、各チームは、他の人のディスの番号の最初のアップデートを取ります。

コード

B

ソル 一つの結論:シーケンスの$ A_1について、A_2、...、A_N $、 $ GCD $接頭辞は$種$ log_2a_iを超えていません。同じまたは少なくとも$ 2 $のいずれかの値で割ったの$ GCDの$に$ I-1 $私は$ $ $ GCDのから$その後、証明された接頭辞の$ GCD $を計算する前から後ろに考えました。

だから、DFS $ GCD $それぞれのメンテナンスや解答のルートへのパス上のその範囲のすべての点を考慮することができます。

コード

C

ソル まず、オペレータの回答は、トリプレット$(i、j、k)を列挙することができます $ $ $ Jは度の数を使用して答えの番号を更新することができます。:叶うことは直接地図更新暴力は右ですが、私の書き込みが鬼畜を比較違反しているように見える

ルートパーティションの度合いに応じて、度の$ \当量の\のSQRT {N}に $ 度の$ \ GEQの\のSQRT {nと暴力の、度の$ \ GEQの\のSQRT {N}の} $度$ \ GEQ \ SQRT {$ n側暴力との間} $ 度$ \当量の\ SQRT N {}の間に$エッジ度$ \ GEQの\のSQRT $ \当量の\のSQRT {N}の低い数を有する{N} $ポイント・キュー・レコードの$ それをポイントし、キュー修飾要素がクリアされるたび。この複雑さは明らかに$ O(q個の\ SQRT {Nは })$

図は、直接抗複雑さを分析内蔵:各ポイントを設定することは$ \当量の\ {n}はSQRT用の程度を、そのポイント数のポテンシャルエネルギー関数に接続されている $のそのポテンシャルエネルギー関数$ \のSQRTの値を超えない点{ N} $ので、操作のたびに複雑さが$ \のSQRT {N} $超えない。度のためにN $ \ GEQ \ SQRT {} $のポイント操作は、これらの点のためのポテンシャルエネルギー関数のそれぞれは上$ \を増加するようではありませんSQRT {N} $は、均等ので$ \ SQRT {nは} $共有されています。したがって、複雑さは$ O(Qの\ SQRT {Nです })$。

コード

D

ソル 標準的な慣行を書くと考えます。リーKangtuoは第一の数に圧入各行を展開し、$ I $ $がどこであろう単一のトランスデューサ後に交換J $ $スルー構成を示す$ F_ {I、J}を設定します。これは$ O((K!)^することができ 2K ^ 2)$ ください。

列挙右ポイントの$ R $はすべて左のポイントのための答えを計算します。我々は交換がすでにから$ I $の$ jの$とさえエッジ$変更されていると考えることができた場合は(i、j)は$、すべての側面のために、このすべての後に左の必要なポイントに今同等は$ 0 $のリストに追加しましたユニコムブロックサイズ。

グループの理論とラグランジュの定理によると、私たちは、インターバル$(1、R)のために最も有用な代替$のみ$ log_2k!$種なので、各ポイントの権利について、レコード、最後に出現のそれぞれが交換されたことを知ることができますすべてのは、$ 0 $を取得することができ姿を取るには右端の順列置換群が追加で表示される場所、配置及び解答の寄与についてBFSアップデートで行くことができます。複雑さは$ Oでなければなりません((K)^ 2K ^ 2 + NK(K + log_2k)!!!)$ である......

しかし、上記のアプローチは非常に鬼畜があり、私たちは新鮮なアプローチであると考える:

私たちは信じているエッジ$(I右側、J)$が整列になることができているが$ I発生の最新の時間の$の$ jは$の交換を配置し、エッジは、グラフ上の最大スパニングツリーで明確に便利です。この点は、時間の長さに等しい未満であると、私たちが移動するたびに右の終点が$ kを追加することと同じです!$エッジは、クラスカルはそれを維持し、その後、最大スパニングツリーに0 $ $各点にボトルネックパスの長さを見つける使用して、その後、左この配置が発生する可能性があります。だから我々は、ライン上のすべてのボトルネックのパスの長さと貢献答えを使用しました。この複雑さは$ O(NK!Log_2k!)でなければなりませんか $ の?とにかく、私は書いていません。

コード(上付きオペレータ)

E1

ソル 会う・イン・ザ・ミドル。$ $ F_iとは、$ I $の確率を3倍、I $場合$の$ \のbinomある{6} {3右$ R_1、R_2を表し、R_3 $ 3点が左に一致するように設定することができる配置 } = 20 $ 最初の桁が一致$ 0 $ $(L_1、L_2、L_3)を示すビットのバイナリ数は、 $を、 $ 1 $第1一致$(L_1、L_2、L_4)を示す $、 ようにとの。このことはO $(2 ^ {\ FRAC {N ^ 2} {2}} \ {N} {3} binom)$ バースト検索。

$ $ G_iは、右を設定R_5、R_6 $は最初のビットが$ 0 $ $(L_4、L_5、L_6に一致示す場所を示すトリプル$ I $確率の左組の相補体に一致させることができ、$ R_4を表します)$、$ 1 $第1一致$(L_3、L_5、L_6)を示す $を、 ように及び。

我々は$ \ \ limits_ {I}のf_iである、請求項 \和の\ limits_ g_jの$、{iは土地J = 0 \} プレフィックスの後部及び事は、高次元の和を計算することができます。

私は、コードを書いていません

E2

ソル 現在の$ $ Lのサブセットを表す設定$ 128 $ $ K $ビットは、現在の$ R $を一致させることができます。様々な要因により、ホール定理、二部グラフの数は$ K $のみ$ S = 64184 $種の整合条件を満たすために、我々はこれらの状態が判明考えます。私たちは、現在の$ R $の上の新しいポイントを追加することを検討するために、毎回$ K $を保存BITSET使用し、$ R $はケースをエッジにも列挙して、$ K $の値を更新します。この部分の複雑さは$ O(S \ FRAC {n2は行うことができます ^ {2nの}} {W})$を、 それがオーバーランとにかく少し大きめの問題ではありません。

新しく追加されたレコードを一緒状態unordered_map検索を使用して、ハッシュの過程でそれらがどの状態に移行する何時でもする場合の右側を指します。次いで、DP:セットは、$ F_ {I、J} $ $も$ $ I $エッジ点の前に決定された現在のR&LTを表しは、現在の状態が$ $ J.の確率で一致します 転送暴力は、現在の転送点を列挙します。

複雑$ O(S \ FRAC {N2 ^ {2N}} {W} + NS2 ^ N)$。

コード

F

ソル $ X_I <0 $は$ I $、$ X_0 = x_nに関するへ$ I + 1 $からコインの数を示す場合X_I $ $ $ I $提供は、I + 1 $ $コインの数を表します $。ノートの$ X_1、X_2、...、x_nに関するとき $は我々が簡単に$ \和の\ limits_ {I =ステップ数構築できると判断 X_I | | 1} ^ n個の$ プロトコルを(これはありますX_I -下限)、それは私、a_iをFORALL $ \を満たす被験者なり + X_ {I-1}の\ $ \和の\ limits_ {I =最小限[L_iを、R_iを] $ケースにケース 1} ^をN | X_I | $。

列挙$ $ X_1とDP:セットの$ F_ {I、J} $が表す$ X_1、X_2、...、X_I決め 、X_I = J $ $ \和の\ limits_ {kは= 1} ^ I | X_K | $の最小値。次に$ F_の$ F_ {I-1、K上{I、J} $ }のK \ [L_iを- - a_iを+ J、R_iをa_iを+ J] $ から転送されました。$ F_ {1、X_1}の初期値= | X_1 |、F_ {1、他人} = INF $。

$のF_ {I、J} $ $ J $引数$のf_i(X)$、その後の$ F_ {I-1}(AS離散関数と考え X)$を$ F_ {I}(X)に$これらのことを行う必要がある:1、$のF_ {I-1}( X)$ 左並進$(L_iを- a_iを)$部の長さ; 2、そう$ gを(X)= \分 \ limits_ {I = X} ^ {X +(R_iを -l_i)} F(I)$ 3、 その結果の$ F_ {I + 1}( X)= G(X)+ | X | $。

なお、もし$ F_ {I-1}( X)$ ので$のf_i(X)$が凸包である凸包あります。そして、我々は想定できている$ F_1 $のみ$ X_1 $のドメインなので、$のf_i(x)は$が凸包です。非常に実用的な方法のための凸包は、全体が凸包として記述することができるように、その権利を維持するために、ラインの傾きと変曲点の横座標を維持することです。

グローバルオペレーション横軸$ 1 $は、ライン上のマーク、$ 2,3難しいビットが係合する$操作を行うことができます。$ 2 $ $ [PT、P] $ $ $ 0スロープセグメントを挿入する等価次いで、操作の物質を分析するの$ P $を取る点で最小値をとる、次いでバッグの左側凸$ tを左$。$ 3 $は、線の傾きは、$ 1 $の減少の傾きのすべてのセグメントのすべての$ 1 $、<0を増加0>に対応する位置を運営しました。

$ Xの$間隔は、大域的最小問題を求め、勾配範囲、動的挿入変曲の座標減少、増加または減少を行います。これは明らかTreapは解決されるが、より優れたアプローチは、2つのスタックは、すべての変曲GEQグローバルタグを作動0 $および<$ 0 $と$ 1 $、$ 2 $操作<$ 0 $は、対応するラインスロープの$ \の右側に維持されている使用することですせいぜい$ $ライン1セグメントによってスタック内の別のスタックに到達するように$のXの$スタックは、マーク座標再生動作をマーキング$ 3 $は、この時点でもあります。

当社は、特定の$ X_1 $ O(nlogn)で$ $時間の答えを見つけることができ、我々は今、$変数x_1 $の答え最小のすべてに対処する必要があります。次の魔法の時間がある:

1、$ X_1 $が真の最適解変わらないとき。あなたは次のように、上限と下限のネットワークフロー問題にこの問題を置くことができる キャンディ配信 その後、私は定理を証明する方法がわからないによると:容量とコストが費用流の整数であることは、すべての辺の流れはその後、$ X_1 $変わらず最適解が実数である、整数であり、満足させる最適解が存在しなければなりません。補題は$ X_1 $本当のドメインに整数フィールドで構成さの範囲を拡大するために私たちを助けます。

2、2つの可能な$と(X_1、X_2、...、 x_nに関する)$ の値の:$(P_1、P_2、... 、P_N)、(Q_1、Q_2、...、q_n) $、次いで$(C_1 = \ FRAC {P_1 + Q_1} {2}、C_2 = \ FRAC {P_2 + Q_2} {2}、...、C_N = \ FRAC {P_N + q_n} {2})$ です可能$のセット(X_1、X_2、...、 x_nに関する)$。$ a_iを-P_I + P_ {:検討を実証 [L_iを、R_iを] $、で\ Q_I + Q_ {I-1} - [L_iを、R_iを〕、a_iをにI-1} \ C_I + C_ {I -と$ a_iを-1} = \ FRAC {2a_i - (P_I + Q_I)+(P_ {I-1} + Q_ {I-1})} {2} = \ FRAC {1} {2}(a_iを-P_I + P_ { I-1} + a_iを- Q_I + Q_ {I-1})$は、 範囲内の2つの数字が、次に平均は、この区間でも明らかです。

図3に示すように、セットの$ f(x)が$ $ X_1 = DPが最適解x $で導出2表される、もし場合$ X_1 = P_1 $ $(P_1、P_2、...、 P_N)$ 最もを取得好ましくは、$ X_1 = Q_1 $時間$(Q_1、Q_2、...、 q_n)$ 最適に取得し、$(R_1、R_2、...、たR_n)$ それは必ずしも最もありませんが、解決策の実現可能なセットです。好ましくは、しかし$理由| R_iと| = \ FRAC { | P_I + Q_I |} {2} \当量\ FRAC {| P_I | + | Q_I |} {2} $、 R_iと|それは$ \合計があるだろうと言うことです| \当量の\のFRAC {\和 | P_I | + \和| Q_I |} {2} $、 すなわち、$ F(\ FRAC {P_1 + Q_1} {2})\当量\ FRAC {F(P_1)+ F( Q_1)} {2} $。ジェンセンの不等式は、$ F $関数が最小値を有する単調増加凸関数の一次導関数です。

だから我々はそれだけで整数フィールド上の$ f(x)が$の最小値を見つけるために、三分ののルールを使用する必要があります。複雑$ O(nlognlogの\和a_iを)$。

コードが書かれていません

おすすめ

転載: www.cnblogs.com/Itst/p/11621057.html