noip 2018 2013 d1t1
难度不是很大 画个图就好了
首先 你叠积木肯定会叠成金字塔形状的 对8?qaq
由图可知 我们可以发现一个事实
我们覆盖最长的则是最优(这好像是废话)
并且 一个相对于之前那个点是上升的
我们就要付出多少代价
这个点是下降的 我们不会付出代价的!!!
从左端点进行统计就好了 !
#include<iostream>
using namespace std;
int now,ans,n,a;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a;
if(a>now) ans+=a-now;
now=a;
}
cout<<ans;
return 0;
}
### 妙!懂了!
# 大佬牛皮!
能在详细解释一下嘛?还是不太理解,,这里覆盖最长是指的区间,然后为什么又要变成一个点和后一个点进行比较呢?
爆赞