poj3262 Protecting the Flowers
Posted 王宜鸣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj3262 Protecting the Flowers相关的知识,希望对你有一定的参考价值。
思路:
简单贪心,每次选择性价比最高的。
实现:
1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 using namespace std; 5 6 struct node 7 { 8 int t, d; 9 }; 10 int n; 11 node a[100005]; 12 int sum[100005]; 13 14 bool cmp(const node & a, const node & b) 15 { 16 double x = a.d * 1.0 / a.t; 17 double y = b.d * 1.0 / b.t; 18 return x > y; 19 } 20 21 int main() 22 { 23 cin >> n; 24 for (int i = 0; i < n; i++) 25 { 26 scanf("%d %d", &a[i].t, &a[i].d); 27 } 28 sort(a, a + n, cmp); 29 sum[n - 1] = a[n - 1].d; 30 for (int i = n - 2; i >= 0; i--) 31 { 32 sum[i] = sum[i + 1] + a[i].d; 33 } 34 long long total = 0; 35 for (int i = 0; i < n - 1; i++) 36 { 37 total += sum[i + 1] * 2 * a[i].t; 38 } 39 cout << total << endl; 40 return 0; 41 }
以上是关于poj3262 Protecting the Flowers的主要内容,如果未能解决你的问题,请参考以下文章
poj3262 Protecting the Flowers
POJ 3262 Protecting the flowers
POJ 3262 Protecting the Flowers 题解 《挑战程序设计竞赛》
POJ 3362 Protecting the Flowers