POJ 3253 Fence Repair

Posted IKnowYou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 3253 Fence Repair相关的知识,希望对你有一定的参考价值。

传送门:http://poj.org/problem?id=3253

这是一个贪心问题。

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 using namespace std;
 6 
 7 const int MAXN=200005;
 8 long long a[MAXN];
 9 
10 long long solve(int N){
11     long long ans=0;
12 
13     while(N>0){
14         int min1=0,min2=1;
15 
16         if(a[min2]<a[min1])
17             swap(a[min1],a[min2]);
18 
19         for(int i=2;i<=N;i++){
20             if(a[i]<a[min2])
21                 swap(a[i],a[min2]);
22             if(a[min2]<a[min1])
23                 swap(a[min1],a[min2]);
24         }
25 
26         ans+=(a[min1]+a[min2]);
27         a[min1]+=a[min2];
28         swap(a[min2],a[N]);
29         N--;
30     }
31     return ans;
32 }
33 
34 int main(){
35     int N;
36     cin>>N;
37     for(int i=0;i<N;i++)
38         cin>>a[i];
39     cout<<solve(N-1)<<endl;
40 
41 }

 

以上是关于POJ 3253 Fence Repair的主要内容,如果未能解决你的问题,请参考以下文章

Fence Repair(poj3253)

poj 3253 Fence Repair 优先队列

POJ 3253 Fence Repair

[POJ3253] Fence Repair

poj 3253 Fence Repair

Fence Repair POJ - 3253