poj2018ベスト牛のフェンス[二部の回答やスロープの最適化]

タイトル。


暴力の最初はうまくやってますが、最適化を持っていないでしょう。QWQをあきらめます。

練習1:二分答え

その後、平均は$ AVE = \ FRAC {合計} {LEN} $であることが判明し、このフォームは半分答えをのようですか?$左に$をlenの。

このように二分$ $アベニューは、列の数を見つけ、$ lenのアヴェ$ $ $を乗じよりも大きく、その後、スタックに等しい一切の間隔はありません。

そこは非常に巧妙な変換は、各番号マイナス$ aveとの$、その後、任意の間隔に、あるとAVE $は$ LEN $時間を蓄積$と等価です。

間隔は、ちょうどそれが0以上であるかどうか* AVE $を見て、$ S-LEN以来。

大きくても小さくてもできる$ aveの$を説明するためのセクションがあります。存在を探すのは簡単プレフィックスとDPです。

$ O(nlogn)$。

POJ精度カードは、過去に生と死ではありません。

スキルが十分ではないようです。

そして、怒って長い長いすべてダブルワイドタイプを置き換えるために、それは、算術、その後、すべての5つの10進整数として、ある、そして最終的には100で割った値。

ああ。

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <CStringの>
 4の#include <アルゴリズム>
 5の#include <cmath>
 6  の#define DBG(X)CERR << #X << "=" << X <<てendl
 7  使って 名前空間はstdを、
8 typedefの長い 長いLL。
9 typedefをダブルデシベル。
10のtypedef対< INTINT > PII。
11テンプレート<型名T>インラインT _min(TA、TB){ 戻り A <Bを?:B;}
 12テンプレート<型名T>インラインT _max(TA、TB){ 戻り A> B?:B;}
 13テンプレート<型名T>インラインチャー MIN(T&A、TB){ 戻り A> B(A = B、?1):0 ;}
 14テンプレート<型名T>インラインチャー MAX(T&A、TB) { 戻り <Bを(A = B、?1):0 ;}
 15テンプレート<型名T>インラインボイド _swap(T&A、T&B){A ^ = B ^ = A ^ = B;}
 16テンプレート<型名T>インラインTリード(T&X){
 17      、X = 0int型の F = 0 ;char型の C; しばらく(isdigit(C = getchar関数())!)の場合(C == ' - ')は、f = 1 ;
18      一方(isdigit(c)参照)、X = X * 10 +(C&15)、C = GETCHAR()。返す fはX = - ?X:X;
19  }
 20  のconst  int型 N = 1E5 + 7 21の CONST DB EPS = 1E- 7 22  LL A [N]、S [N]。
23 LLのL = 1 、R、ミッド。
24  int型N、L。
25インラインブールチェック(LL AVE){
26      のために(登録をint = I 1を、iは<L; ++ I)S [I] = sの[I- 1 ] + [I] - AVE。
27      LLミンクス= 1E16。
28      のために(登録をint i = 1; iは= N <; ++ I){
 29          MIN(ミンクスは、S [IL]); S [I] = sの[I- 1 ] + [I] - AVE。
30          であれば(S [i]は-minx> = 0リターン 1 31      }
 32      リターン 0 33  }
 34  
35  INTメイン(){ // freopenは( "test.in"、 "R"、STDIN)。// freopenは( "test.outに"、 "W"、STDOUT)。
36      リード(N)、(l)を読み出します。
37      のために(登録をint i = 1 A [i]を読み出す=(A [I])* I ++; iが<= N)100000 ([I] R、A)、MAX。
38      一方(L < R){
 39          半ば= L + R + 1 >> 1 40          であれば(チェック(MID))L = ミッド。
41           R =半ば1 42      }
 43      のprintf(" %のLLD "、(L / 100 ))。
44      リターン 0 ;
45 }
コードの表示

練習2:最適化のスロープ

おすすめ

転載: www.cnblogs.com/saigyouji-yuyuko/p/11458247.html