POJ 3253 Fence Repair
Posted Fighting Heart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 3253 Fence Repair相关的知识,希望对你有一定的参考价值。
简单贪心,每次合并长度最小的两段,优先级队列维护一下。
#include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<algorithm> using namespace std; const int maxn=20000+10; int n; long long a[maxn]; struct cmp1{ bool operator ()(long long &a,long long &b){ return a>b; } }; int r; int main() { while(~scanf("%d",&n)) { priority_queue<long long,vector<long long>,cmp1>q; for(int i=1; i<=n; i++) { scanf("%lld",&a[i]); q.push(a[i]); } r=n-1; long long cost=0; while(r--) { long long sum=0; sum=sum+q.top();q.pop(); sum=sum+q.top();q.pop(); q.push(sum); cost=cost+sum; } printf("%lld\n",cost); } return 0; }
以上是关于POJ 3253 Fence Repair的主要内容,如果未能解决你的问题,请参考以下文章