POJ2431--Expedition(优先队列)】的更多相关文章

Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck's fuel tank. The truck now leaks one unit of fuel ever…
poj 3431 Expedition 优先队列 题目链接: http://poj.org/problem?id=2431 思路: 优先队列.对于一段能够达到的距离,优先选择其中能够加油最多的站点,这样,行驶过这段距离之后还能走更远的距离. 将输入的数据进行排序处理,按照位置的先后.注意输入的距离是与终点的,要转化成与起点的. 代码: #include <iostream> #include <algorithm> #include <stdio.h> #include…
思路:先把加油站按升序排列. 在经过加油站时.往优先队列里增加B[i].(每经过一个加油站时,预存储一下油量) 当油箱空时:1.假设队列为空(能够理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地. 2.否则就取出队列里的最大元素,来给汽车加油(贪心思想) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue>…
来源poj2431 A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck's fuel tank. The truck now leaks one unit of fuel every…
题目链接:http://poj.org/problem?id=2431 题目大意:一辆卡车,初始时,距离终点L,油量为P,在起点到终点途中有n个加油站,每个加油站油量有限,而卡车的油箱容量无限,卡车在行车途中,每走一个单位的距离消耗一个单位的油量,给定n个加油站距离终点的距离以及油存储量.问卡车是否能到达终点,如果可达,最少需要加多少次油,否则输出-1. 例: 输入: 44 45 211 515 1025 10 输出: 2 解题思路:采用贪心的思想,卡车当然在不加油的情况下走的越远越好了,而当它…
题目描述 A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poor drivers, the cows unfortunately managed to run over a rock and puncture the truck's fuel tank. The truck now leaks one unit of fuel every unit…
直接代码... #include<string.h> #include<stdio.h> #include<queue> #include<iostream> #include<algorithm> using namespace std; struct node { int fuel,dist; //bool operator < (const node&d) const{ // return dist>d.dist; //…
正解:模拟费用流 解题报告: 先放个传送门鸭,题目大意可以点Descriptions的第二个切换成中文翻译 然后为了方便表述,这里强行改一下题意(问题是一样的只是表述不一样辣,,, 就是说现在在高速公路上行驶,初始有K的油量,每走一公里要消耗一单位的油,然后路上有N个加油站,离终点的距离分别为A[i],每次经过一个加油站可以选择加或者不加,加就能加B[i]的油量,然后要求路上不能存在没油的情况,问最少要加几次油 然后就考虑可以理解成,每经过一个加油站,就相当于有加油的权利,所以把它加入堆中,当没…
Expedition 直接中文 Descriptions 一群奶牛抓起一辆卡车,冒险进入丛林深处的探险队.作为相当差的司机,不幸的是,奶牛设法跑过一块岩石并刺破卡车的油箱.卡车现在每运行一个单位的距离泄漏一个燃料单位. 为了修理卡车,奶牛需要沿着一条蜿蜒的长路行驶到最近的城镇(距离不超过1,000,000个单位).在这条路上,在城镇和卡车的当前位置之间,有N(1 <= N <= 10,000)燃料站,奶牛可以停下来获得额外的燃料(每站1..100个单位). 丛林对人类来说是一个危险的地方,对奶…
以下代码可对结构体数组中的元素进行排序,也差不多算是一个小小的模板了吧 #include<iostream> #include<algorithm> using namespace std; struct node { int x; int y; bool operator<(const node &a) const//此操作是对操作符"<"进行重构 { return x < a.x;//对结构体数组x进行从大到小排序 // retur…