NOIP 2018は、解決のグループの質問1日目T1舗装道路P5019を向上させるために

タイトル説明

クリスはの長さの敷設を担当する道路エンジニア、ある  N- N-道路。

メイン舗装道路表面の沈下が充填されています。以下のように道路のセクション全体を捉えることができる  N個の領域は、スタートのnブロックの和、最初に接続されている  I Iエリア押下深ブロック  D_I D Iを 。

連続間隔クリス日のために選択することができる[L、R&LT] 、[ L R&LT この間隔の各充填領域、ダレを低減する許可深さは、]  。1 1 充填前に、各領域のサグ奥行き間隔内に、それを確実にするために必要な選択インターバルはない場合  0 0

クリスは、あなたが彼を最短時間で沈没道路の全体の深さは、となっていることができソリューションの設計に役立つことを願っ  0 0

入力形式

入力ファイルは、2つの行が含まれ、最初の行は、整数含ま  N- 、N-を道路の長さを表します。二行目に含まれる  N- 隣接する二つの数字の間の空間によって分離されたN-整数を、最初のI Iは整数で  D_I D I  。

出力フォーマット

出力ファイルには、タスクを完了するための最小日数を必要とする唯一の整数を、含まれています。

サンプル入力と出力

入力#1
6    
4 3 2 5 3 5
出力#1
9

説明/ヒント

サンプル[解説]

一つの可能な好ましい実施形態は、選択され:  [1,6] 、[ 1 6 ]、[1,6] 、[ 1 6 ]、[1,2] 、[ 1 2 ]、[1,1] [ 1 1 ]、[4,6] 、[ 4 6 ]、[4,4] 、[ 4 4 ]、[4,4] 、[ 4 4 ]、[6,6] 、[ 6 6 ]、[6,6] 、[ 6 6 ]。

スケールデータと[合意]

以下のための  30 \%。3 0 、データの%は。≤-nは1≤10 1。N- 1。0;
のための  70 \%7。0 データの%、1≤N-≤1000 1。N- 1。0 0 0;
のための  100 \%1 0 0 データの%。1≤≤-100000 N、10000≤0≤D_I 。1 N- 。1 0 0 0 0 0 0 D I 。1 0 0 0 0。

 
 
質問私はそれが非常に簡単であるべきかのように最初の感がある後に見て、非常に困難なように見えました
私は同様のタイトルを行っていた私の印象によると、
私はそれがこのようなものだった覚えています
そして、各隣接する列の数が集計する二つの数字の間に432 535のように、元の数は1 + 1 + 2 + 3 + 2 = 9、物事は本当に偶然それがあることがありますか?私は信じられないほど持ってえっ
 
私たちがしようとする例を挙げてみましょう 
私の息子の死を超える1234561 + 1 + 1 + 1 + 1 = 5つの浮き沈みは6倍でなければなりません
234 711 + 1 + 3 + 6 = 11ああも7であるべきです
 
停止、停止、間違った場所でなければなりません
常に貧しい感じ、カウントが正の解であります
 
まあ、我々はまだそれを見て、それを証明する最初のものに8人の子供を持っています
 
たとえば、直後のピットの前にピット2つのピットがあります
5ピット深さのピット深さは2が、その後限り5 3 2が一緒になって消え続く1としてマイナス5この時間を一緒に肯定的な決定をカットしています
これ!
我々は、[I-1] -a [I]> [I-1]次に和アキュムレータ和を設定+ = A [i]の場合フロント後ろに列挙します
次に、[1] -a [0] [0]だけのもの0で防ぐことはできません。
 
 
だから我々は、ケースと、この取引のように続けていくならば
それは貪欲なアルゴリズムを使用するのと同じです
 
私たちはその答えの貢献よりもはるかに多くをもたらす各ピットの同等の計算します
それでは、どの子貪欲アルゴリズム、それが正しいかどうかを検証するには?
数学にいくつかの例を見つけることは非常に簡単で見つけることができます右にあります     
我々はそれについて理解するために来るこの質問のサンプルを取ります
4 3 2 5 3 5
(猫は、あなたが完了していないかを表し!
開始値の合計は0であります
= 4の合計を記入し、確かに少なくともピット4の深さの4日間を通過することができます0 - 最初に私たちは4の合計を見ては、4を追加してくださいです
記入して「自由」それとともに3に仕上がっ4を被覆する工程である4時間以上の操作をしないのは、33を見てみましょう
2 2を記入することも満たされている間、それは3倍である(猫は、あなたが、これはあなたをでたらめされていないことを意味します!4 <3と同じ状況であります
同じような状況はありませんでした、その後5 3のない深さはここでも記入がないピットの際、元の深さを記入している= 7 2 3合計を追加するための5> 2ので、合計を見てこの時点で疲れたプラス3と4は、なぜ関係はそうではありませんか?すでにそれが分離2 0 4と5この時間になって明らかです
コントロールしていない、明らかに3を見て
再び満たしていないと2つの5-9間の2の合計=合計は深さに関連付けられていない5 2の深さがある場合に記入されている最後の5 3を見て、彼らは2になったときので、場所は、それらが離間されていることになっていること0 3 2に還元することができないが、一緒に考慮された場合
 
 
それを管理することができ、アルゴリズムはそれの権利であるので、Liが再びそんなに多くの楽しみを感じます
 
 
非常に満足!
100スコア:100スコアを期待
コードは以下の通りであります:
これは、符号なしの長い長いまあ予防策を取るためには大きな必要性を感じません
#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
int arr[maxn]; 
int main()
{
    int n;scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
    unsigned long long ans=0;
    for(int i=1;i<=n;i++) 
        //if(arr[i]>arr[i-1])
        ans+=1ull*(arr[i]>arr[i-1])*(arr[i]-arr[i-1]);
    printf("%llu",ans);
    return 0;
} 

 

 
 
 
 
 

おすすめ

転載: www.cnblogs.com/Tidoblogs/p/11412163.html