首先把总时间减去走到第p(p<=n)所需要的时间,那么剩余时间都是用来钓鱼的时间,假设John可以瞬间位移(因为位移时间已经减去),John每次选择剩余最多鱼的湖去钓鱼,这样钓鱼的数目才会达到最多。 算法思想: 贪心算法,由于John可能在n个湖的任一个位置停下,所以我们要考虑n种情况,并选择出钓鱼总数最多的那种情况。每...
POJ 1042 Gone Fishing( DP ) 题意:小明打算做一个h((1 <= h <= 16))个小时钓鱼旅行。发现这里有n(2 <= n <= 25)个湖,而且所有的湖都在一条路的旁边。小明打算从第1个湖开始钓起,每在一个湖钓完鱼后,要到下一个湖但他可以选择是否要在这里钓鱼,并且他可以在任何一个湖结束他此次钓鱼的行程。
单位是5分钟(==!), 即:若t[3] = 4,表示从池塘3到池塘4需要4*5=20分钟。John在每个池塘钓鱼的时间都必须是5的倍数。求期望能钓到最多鱼的钓鱼计划,并输出在每个池塘钓鱼的时间(分钟为单位)和能钓到的鱼总数。当有多个方案都是最优解时,选择在第一个湖的时间最长的方案,若仍相等,选择在第二个湖时间...
如果预计在一段时间内捕获的鱼的数量小于或等于di,则在下一个时间段内将不会有更多的鱼留在湖中。为了简化规划,约翰假定没有其他人会在湖边钓鱼,以影响他期望捕获的鱼的数量。 写一个程序,以帮助约翰计划他的钓鱼之旅,以最大限度地增加预计捕获的鱼的数量。在每个湖泊花费的分钟数必须是5的倍数。 这题的贪心...
Poj 1042 gone fishing 【题目大意】 题目就是在给定钓鱼时间,湖泊之间转移的时间,各湖泊初始鱼量,各湖泊鱼量的下降指数求在规定时间内的最大钓鱼量。 【解题思路】 本题目采用枚举+贪心的方法可以求解出来。首先我们需要对题目进行一些改造,我们需要枚举从第一个湖泊到第n个湖泊之间各种可能情况,然后再这些情况中...
john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓),john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼...
poj_1042 贪心算法 poj 1042 gone fishing 题目要求: 由有n个湖, 按照顺序排列,一个人从第一个湖向最后一个湖行进(方向只能从湖0到湖n-1),途中可以在湖中钓鱼。在每个湖中钓鱼时,开始的5分钟内可以钓到 f[i] 条,之后每5分钟钓到的鱼数目递减 d[i] ,且每两个相邻的湖的距离 t[i] 给出(t[i] ...
;50for(intfish_time_th =0; fish_time_th < max_fishing_times; ++fish_time_th)51{52//选择最多的进行钓鱼。53lake temp_lake = *(min_lakes.begin());54min_lakes.erase(min_lakes.begin());55sum_fishes +=temp_lake.fishes;5657temp_fish_times[temp_lake.id]++;5859temp_lake.fishes -=...
POJ_1042_贪心 题目描述: 每组数据给你n个胡,h小时时间,每个湖一次可钓鱼数量,每个湖每次钓鱼后下次可钓鱼数量的减少量,从每个湖到下一个湖所需时间。求最大钓鱼量。 要注意的是,刚开始在第一个湖,每次移动只能往下一个湖移动,每次钓鱼数量最多可减少到0。
POJ 1042 Gone Fishing(黑书1.22例一) 枚举在每个湖结束钓鱼的情况,去掉移动的时间。这样在各个湖之间的移动就可以看成瞬移的了,贪心可以很容易的求出最大解。 Gone Fishing Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)...