当前位置:
首页 >
UOJ#244-[UER#7]短路【贪心】
发布时间:2023/12/3
56
豆豆
生活随笔
收集整理的这篇文章主要介绍了
UOJ#244-[UER#7]短路【贪心】
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
正题
题目链接:http://uoj.ac/problem/244
题目大意
n+1n+1n+1个矩阵如下图所示
每一层的格子有相同的延时,现在加一些平行于坐标轴的导线,求左上到右下的最小延迟。
解题思路
可以知道最优解一点是走到某个矩阵的左上角然后走这个矩阵到右下角然后到终点。
设fif_ifi表示走到iii的左上角的最小延迟,显然有fi=fi−1+min{aj}(1≤j<i)f_{i}=f_{i-1}+min\{a_j\}(1\leq j<i)fi=fi−1+min{aj}(1≤j<i)
递推即可。
codecodecode
#include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; const ll N=1e5+10; ll n,a[N],f[N],num,ans; int main() {scanf("%lld",&n);num=ans=1e19;for(ll i=n;i>=0;i--)scanf("%lld",&a[i]);f[0]=a[0];num=a[0];for(ll i=1;i<=n;i++){f[i]=f[i-1]+a[i]+num;num=min(num,a[i]);}for(ll i=0;i<=n;i++)ans=min(ans,(f[i]+(n*2-i*2)*a[i])*2-a[i]);printf("%lld",ans); }总结
以上是生活随笔为你收集整理的UOJ#244-[UER#7]短路【贪心】的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 星际争霸电脑配置要求(星际争霸电脑配置)
- 下一篇: P3462-[POI2007]ODW-W