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
  • 相关阅读:
    python自动发邮件库yagmail
    Vmware改成bridge方式联网
    centos7 更新Firefox版本
    无法应用转换程序,请检查指定的转换程序路径是否有效
    python中list/tuple/dict/set的区别
    Python中的*arg和**kwarg
    centos7.4下搭建JDK+Tomcat+Nginx+Mysql+redis+Mongodb+maven+Git+Jenkins
    用 Apache Derby 进行 ODBC 编程
    Derby 命令
    Python与数据库
  • 原文地址:https://www.cnblogs.com/wuyuewoniu/p/4360940.html
Copyright © 2011-2022 走看看