gergovia专题

(白书训练计划)UVa 11054 Wine trading in Gergovia(等价转换)

题目地址:UVa 11054 很巧妙的一道题,这题是利用的等价转换,对每一条路来说,假如右边生产的比左边的多x,那么不管起点是哪,终点是哪,都可以把左右两侧的看成两个点,要从这条路上运送x个劳动力。再由于总和是0,所以只需要算出一端的总和就可以,这样只要遍历一遍就可以算出来了。写出代码就很简单了。。。 代码如下: #include <iostream>#include <stdio.h

UVa11054 poj2940 sdut2370 Wine trading in Gergovia(贪心)

Wine trading in Gergovia Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 As you may know from the comic "Asterix and the Chieftain\'s Shield", Gergovia consists of one street, a

ACM 扫描法 Wine trading in Gergovia

滴,集训第七天打卡。 今天是紫书第八章训练,是高效算法设计.. 就是不用奇技淫巧都会超时... 这里贴一题扫描法。 UVA 11054 Wine trading in Gergovia 题目大意:直线上有n个等距的村庄,每个村庄要么买酒(ai>0),要么卖酒(ai<0),所有村庄供需平衡,即所有ai之和等于0.把k个单位的酒从一个村庄运到相邻村庄需要k个单元的劳动力。

UVa 11054/HDU 1489/POJ 2940 Wine trading in Gergovia(贪心双向队列)

11054 - Wine trading in Gergovia Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&page=show_problem&problem=1995 http://acm.hdu.edu.cn/s

1054 - Wine trading in Gergovia

哈 果然高手就是不一样,不要把这个事情想的复杂了,从最左边的村庄起,不管是买还是卖,都要有劳动力去往下一个村庄,下一个村庄后进行加减剩余的继续还要向后走,懂得这个以后代码贼简单 #include <iostream>#include<cmath>using namespace std;int main(){int n;while(cin>>n&&n){long long ans=

poj 2940 Wine Trading in Gergovia

1.题意:有n个居民买酒与卖酒,没移动一个房子距离相当用一个工作量,求最少工作量。 55 -4 1 -3 16-1000 -1000 -1000 1000 1000 10000 多个样例,每个样例有两行,5代表有5个居民,第二行代表每个居民的需求,整数代表买进,负数代表卖出; 2.思路:一家一家的访问,一家一家的累加即可; 3.优化后代码: #include<stdio.h>i