UVA11054_Wine trading in Gergovia
大致题意:
直线上有n个村庄,要么买酒要么卖酒,运酒到隔壁村庄需要这个酒的权值个劳动力
问你至少需要多少劳动力
题目保证了所有权值和为0!!!!!!!!!!!!这个意义重大,表示这是一个封闭的群体
这是一个隐藏条件,他表明只要前i个村子不能自卖自买,那么一定会出口或者进口的
最少需要多少,这题显然是一个最优策略了
然后好好想想,有点状态转移的味道
前i个区间需要多少个区间,现在多出来第i+1个村,那么这个就和钱i个村子的总需求(可以为负)有关,若总需求a为正数,则一定会有a个劳动力消耗在了i到i+1之间;
就这样不断更新总需求和总劳动力!!!!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<queue>
#include<cstdlib>
#include<algorithm>
#include<stack>
#include<map>
#include<queue>
#include<vector>
using namespace std;
int main(){
// freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,ans,last;
while(cin>>n&&n){
long long ans=0,last=0,a;
for(int i=0;i<n;i++){
cin>>a;
ans+=abs(last);
last+=a;
}
cout<<ans<<"\n";
}
return 0;
}
UVA11054_Wine trading in Gergovia的更多相关文章
- UVA 11054 Wine trading in Gergovia 葡萄酒交易 贪心+模拟
题意:一题街道上很多酒店,交易葡萄酒,正数为卖出葡萄酒,负数为需要葡萄酒,总需求量和总售出量是相等的,从一家店到另外一家店需要路费(路费=距离×运算量),假设每家店线性排列且相邻两店之间距离都是1,求 ...
- uva 11054 wine trading in gergovia (归纳【好吧这是我自己起的名字】)——yhx
As you may know from the comic \Asterix and the Chieftain's Shield", Gergovia consists of one s ...
- UVa 11054 Wine trading in Gergovia【贪心】
题意:给出n个等距离的村庄,每个村庄要么买酒,要么卖酒,买酒和卖酒的总量相等, 把k个单位的酒从一个村庄运送到相邻的村庄,需要耗费k个单位劳动力,问怎样运送酒使得耗费的劳动力最少 买 卖 ...
- UVa 11054 Wine trading in Gergovia
题意: 直线上有n个等距的酒庄,每个酒庄对酒的需求量为ai(正数说明需要买酒,负数需要卖酒),而且保证所有的酒庄供需平衡. 搬运x个单位的酒到相邻的酒庄需要x个劳动力,求要使所有酒庄供需平衡最少需要多 ...
- UVA 11054 Wine trading in Gergovia(思维)
题目链接: https://vjudge.net/problem/UVA-11054 /* 问题 输入村庄的个数n(2=<n<=100000)和n个村庄的数值,正代表买酒,负代表卖酒,k个 ...
- 8-5 Wine trading in Gergovia Gergovia的酒交易 uva11054
等价转换思维题 题意: 直线上有n(2<=n<=100000)个等距的村庄 每个村庄要么买酒 要么卖酒 设第i个村庄对酒的需求量为ai 绝对值小于一千 其中ai大于0表示买酒 ...
- uva11054 - Wine trading in Gergovia(等价转换,贪心法)
这个题看上去麻烦,实际上只要想清楚就很简单.关键是要有一种等价转换的思维方式.其实题意就是个一排数,最后通过相邻的互相移动加减使得所有数都变成零,移动过程中每次都耗费相应值,让耗费的值最小.虽然从实际 ...
- UVA - 11054 Wine trading in Gergovia 扫描法
题目:点击打开题目链接 思路:考虑第一个村庄,如果第一个村庄需要买酒,那么a1>0,那么一定有劳动力从第二个村庄向第一个村庄搬酒,这些酒可能是第二个村庄生产的,也可能是从其他村庄搬过来的,但这一 ...
- 【例题 8-5 UVA - 11054】Wine trading in Gergovia
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑第一个店. 如果它要酒的话,只能从第二个店那里运过来. 这样,问题就转化成后n-1个店的问题了. 然后会发现,第二家店它的情况也 ...
随机推荐
- sqlserver怎么copy一张表为另一张表
SQL Server中,如果目标表存在:insert into 目标表 select * from 原表;SQL Server中,,如果目标表不存在:select * into 目标表 from 原表 ...
- 有根树的表达 Aizu - ALDS1_7_A: Rooted Trees
有根树的表达 题目:Rooted Trees Aizu - ALDS1_7_A A graph G = (V, E) is a data structure where V is a finite ...
- django简单实现注册登录模块
源码下载:https://files.cnblogs.com/files/hardykay/login.zip 新建项目(我使用pycharm开发,也可以使用如下命令建立项目 ) cmd命令行,前提需 ...
- Java并发Condition接口
java.util.concurrent.locks.Condition接口提供一个线程挂起执行的能力,直到给定的条件为真. Condition对象必须绑定到Lock,并使用newCondition( ...
- MySQL数据库时区问题导致java程序无法连接数据库
转载自https://blog.csdn.net/man_zuo/article/details/81027934 先把报错信息贴上, The server time zone value '???ú ...
- 【学习总结】Python-3-运算符优先级
参考:菜鸟教程-Python3运算符 运算符优先级-表 特别注意:逻辑运算符内部的优先级顺序-考点!!!! END
- 从vue的组件传值着手浅谈观察者模式
首先,提到观察者模式,这不禁让我想到了MVVM,MVVM架构模式感觉用到了观察者的思想. 我们还是按照惯例,了解一下什么是观察者模式 观察者模式,类似发布订阅模式,完成这个动作首先最少得有两个不同的对 ...
- Python随笔记录之一
import os import random from copy import deepcopy ''' 读取特定目录下所有的文件夹, 和文件名 ''' def eachDir(path): for ...
- (原)centos 防火墙开放端口命令
centos 防火墙默认是关闭非系统端口的,所以用到非系统端口首先开放,命令如下 firewall-cmd --zone=public --add-port=1935/tcp --permanent ...
- 记一下await用法
async函数会返回一个Promise对象,可以使用then方法添加回调函数, 当async函数有return时,会作为success的参数 当async函数有抛错时,会作为fail的参数. 当函数执 ...