zoukankan      html  css  js  c++  java
  • UVa 11054 Wine trading in Gergovia【贪心】

    题意:给出n个等距离的村庄,每个村庄要么买酒,要么卖酒,买酒和卖酒的总量相等,

    把k个单位的酒从一个村庄运送到相邻的村庄,需要耗费k个单位劳动力,问怎样运送酒使得耗费的劳动力最少

    买     卖          买        卖        买

    5      -4          1         -3        1

    可以从样例来模拟,第一个村庄需要买5桶酒,这5桶酒都是从右边的别的村庄运过来的,第二个村庄需要卖4桶酒,

    那么可以这样想,第一个和第二个村庄捆绑在一起的需求量为 a1+a2,而a1+a2又是从别的村庄运送过来的

    再比如说

    第一个村庄买的是5,那么需要5个劳动力运过来,

    第二个村庄卖的是4,那么是它运过来的,

    所以这一趟只满足了4桶酒,剩下的1继续累加,直到遇到负数把它抵消,说明又有酒运过来了

    感觉是一个村庄一个村庄累积= =纸上模拟一下样例好理解点= =

     1 #include<iostream>  
     2 #include<cstdio>  
     3 #include<cstring> 
     4 #include <cmath> 
     5 #include<stack>
     6 #include<vector>
     7 #include<map> 
     8 #include<set>
     9 #include<queue> 
    10 #include<algorithm>  
    11 #define mod=1e9+7;
    12 using namespace std;
    13 
    14 typedef long long LL;
    15 
    16 int main(){
    17     int n;
    18     while(cin>>n&&n){
    19         LL ans=0,last=0,a;
    20         for(int i=0;i<n;i++){
    21             cin>>a;
    22             ans+=abs(last);
    23             last+=a;
    24             printf("last=%d
    ",last);            
    25         }
    26         cout<<ans<<"
    ";
    27     }
    28     return 0;
    29 }
    View Code
  • 相关阅读:
    WPF Caliburn 学习笔记(五)HelloCaliburn
    MSDN 教程短片 WPF 20(绑定3ObjectDataProvider)
    MSDN 教程短片 WPF 23(3D动画)
    比赛总结一
    HDU3686 Traffic Real Time Query System
    HDU3954 Level up
    EOJ382 Match Maker
    UESTC1565 Smart Typist
    HDU3578 Greedy Tino
    ZOJ1975 The Sierpinski Fractal
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4360940.html
Copyright © 2011-2022 走看看