https://www.luogu.org/problem/P5017
参考:https://www.luogu.org/blog/ztyluogucpp/solution-p5017
私は、私はおそらくそれをスクラップと思います。
確かに$ tの$の並べ替えする必要があります。
オリジナルのアイデアは確かに[i]は$前に$私は完全に個人的な車を$や到着の最小待ち時間に表すF $です。
あなたは$ F $は単純に転送することはできません、シャトルに時間を与えていない場合しかし、あなたは見つけることができます。
そして、$最後のバス$ jは$最小の時間を待っているとき、[I] [J] $うち表明F?
データ範囲は、顔を打つ、私は、問題の解決策を確認するために行ってきました。
最後のバスアウトすることをしかし、我々は$ [T [i]は、$ tと[i]が+メートル)、バスがで-1 $ $トンうち最悪になるように[i]の中で、実際にいくつかの時間を発見しました、$ tの[i]が+ M-1 $バック我々は車が駐車してみましょう、その後、明らかに白の乗客を出す場合。
最小の時間を待っているときだから我々は、$ F [i]は、私が個人的な車を$や全体ステーション上の最初の$のための[J] $、$ tから最後のバス[i]が+ jは$アウトを変更することができます。
状態遷移方程式を簡単に書くことができます。
$ F [I] [J] =分([I] [j]をfは、[K] [L] + SUM(K + 1、I、T [i]が+ j)はF)$(もし変数正当性を確保する必要が)
最終的な答えは、$([N] [0] \ SIM F [n]は[M-1] F)$分であります
$和(i、j、k)は、$ $ I $関数は、(1)$忘れ明らかにJ $ $ $ kは$開始時間のような人々とを、待つ、と事前に接頭辞の$ Oすることができ、人の時間を表し、 。
しかし、この式は$ O(N ^ 2メートル^ 2)$はどのように行うにはいなかったのですか?
$ jの$の下限我々は確かに$ MAX(T [K] + L + MT [i]が、0)$が、実際には$ $ M-1にあなたをこの列挙を制限する必要がありますか?
もちろん、車の待機させより車で$ I $、あなたは時期尚早早期発症ことができますように、下限の$ F $ -up状態が間違っているかもしれませんが、答えは真でなければならないもののので。
複雑さの$ O(N ^ 2メートル)$ $ jの$を、列挙する必要はありません
#include <cmath> の#include <cstdioを> する#include <CStringの> する#include <iostreamの> する#include <アルゴリズム> 使用して 名前空間STDを、 typedefの長い 長いLL。 const int型 N = 505 ; CONSTの INT M = 105 。 constの LL INF = 1E18; インラインint型リード(){ int型 X = 0、W = 0。CHAR CH = 0 。 しばらく(!isdigit(CH)){W | = CH == " -' ; CH = GETCHAR();} ながら(isdigit(CH))X =(X << 3)+(X << 1)+(CH ^ 48)、CH = GETCHAR()。 リターン?W - X:X; } LL T [N]、S [N]、[N] [M] F。 LL和(INTの L、int型のrは、今LL){ 戻り今*(R-L + 1)-s [R] + S [1- 1 ]。 } int型のmain(){ int型 N =(読み取り)、M = read()は、 以下のために(int型私= 1 ; iが<= N; I ++)はT [I] = 読み取ります(); ソート(T + 1、T + N + 1 )。 以下のために(int型 i = 1 ; iが<= N; iは++)S [I] = sの[I- 1 ] + T [i]は、 以下のために(int型私= 1 ; iが<= N; iが++ ){ ため(INT J = 0 ; J <Mであり、j ++)[I] [J] F = SUM(1、I、T [i]が+ j)と、 用(INTの J = 1、J <I、J ++ ){ ための(int型のk = 0 ; K <M; ++ k個){ っ今 = MAX(T [J] + K + M、T [I])。 F [i]は[今-t [I] =分(F [i]が[今-T [I]、[J] [K] +和F(J + 1 、I、今))。 } } } LL ANS = INF。 以下のために(int型 i = 0 ; iがm <; iは++)ANS = 分(ANS、F [n]は[I])。 printf(" %LLDする\ n " 、ANS)。 リターン 0 ; }
+++++++++++++++++++++++++++++++++++++++++++
+著者:luyouqi233。+
+私のブログへようこそ:http://www.cnblogs.com/luyouqi233/ +
+++++++++++++++++++++++++++++++++++++++++++