poj1700】的更多相关文章

POJ1700 题目链接:http://poj.org/problem?id=1700 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u   Description A group of N people wishes to go across a river with only one boat, which can at most carry two persons. Therefore…
题目链接: https://vjudge.net/problem/POJ-1700 题目大意: 有N个人要渡河,但是只有一艘船,船上每次最多只能载两个人,渡河的速度由两个人中较慢的那个决定,小船来回载人直到所有人都渡河,求最短的渡河时间. 思路: 假设有速度最快的人a.速度次快的人b,速度最慢的人c,速度次慢的人d,把c和d送到终点考虑两种策略: 1. a和b出发,a回来,c和d出发,b回来 2. a和c出发,a回来,a和d出发,a回来 只需要比较这两种策略的快慢,每次选择较快的策略,当起点的人…
这题的最坑的地方就是每步可能会有两种情况,这两情况起初我都单独考虑了,但就是没放在一起考虑...wa个不停,果然贪心是一个很考验思维的东西. 这里可以这样考虑,在运人的过程中,河的起始岸最后终将剩下一个或者两个 人,并且是用时最大的.所以这个时候就会有两种情况,dp[i]=dp[i-1]+time[i]+time[0] 或者dp[i]=dp[i-1]+time[i]+time[0]+2*time[1];可见这类似于递归的思想. #include"iostream" #include&q…
题目描述:N个人过河,只有一只船,最多只能有两人划船,每个人划船速度不同,船速为最慢的人的速度.输入T为case个数,每个case输入N为人数,接下来一行输入的是每个人过河的时间,都不相同.要求输出N个人全部过河的时间 算法思想:采用贪心的方法.有两种划船的方法,一种是最快+最慢,最快回,最快+次慢,最快回,循环下去:第二种是最快+次快,次快回,最慢+次慢,最快回,循环下去.那么当剩余人数N>3的时候,比较第一种和第二种的时间,采用耗时短的方法过河.N=1,2,3的时候单独讨论. #includ…
#include<iostream> #include<algorithm> using namespace std; ]; int main() { int t,i; cin>>t; while(t--) { ; //每次f归0 cin>>n; ;i<=n;i++) cin>>a[i]; sort(a,a+n+); while(n) { ) { f+=a[]; break; } ) { f+=a[]; break; } ) { f+=a[…
Bridge over a rough river Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4143   Accepted: 1703 Description A group of N travelers (1 ≤ N ≤ 50) has approached an old and shabby bridge and wishes to cross the river as soon as possible. Ho…
题目链接:http://poj.org/problem?id=1700 解题报告: 1.贪心算法,每次过两个速度最慢的人,抵消那个较慢的人的时间. #include <stdio.h> #include <algorithm> using namespace std; ]; int main() { int t; scanf("%d",&t); while(t--) { int i; ; int n; scanf("%d",&…
题目描述: A group of N people wishes to go across a river with only one boat, which can at most carry two persons. Therefore some sort of shuttle arrangement must be arranged in order to row the boat back and forth so that all people may cross. Each pers…
题意: n个人过河, 船每次只能坐两个人, 然后船载每个人过河的所需时间不同, 问最快的过河时间. 思路: 仅仅启发一下思维: 我相信很多人一下子的想法就会有,每次最快和那些慢的过去,然后让最快一直来回,最后全部到对岸. 但是还有一种情况,我说说看,弱仅仅是想给大家一点思考,毕竟有意思. 你先让两个快的人从A过去至B,然后挑一个人回来至A,留下一个快的在B.OK,回来以后我让两个最慢的过去至B,然后让B那边的快的过来接A这边的快的.这样会不会节约一点啊. OK. 我们假设只有四个人,tf(the…
poj1700 数学推导+简单dp poj2390 水题不说什么了 poj3260 先对找的钱做完全背包,在对能付的钱做多重背包,注意这道题能付的钱数的上界 poj2516 裸的最小费用最大流了没什么好说,注意每件物品分开来做…