传送门 f[i] 表示送前 i 头牛过去再回来的最短时间 f[i] = min(f[i], f[j] + sum[i - j] + m) (0 <= j < i) ——代码 #include <cstdio> #include <iostream> , INF = ; int n, m; int sum[MAXN], f[MAXN]; inline long long read() { , f = ; char ch = getchar(); ; ) + (x <…
题目描述 Farmer John is herding his N cows (1 <= N <= 2,500) across the expanses of his farm when he finds himself blocked by a river. A single raft is available for transportation. FJ knows that he must ride on the raft for all crossings and that that…
P2904 [USACO08MAR]跨河River Crossing 显然的dp 设$f[i]$表示运走$i$头奶牛,木筏停在未过河奶牛一侧所用的最小代价 $s[i]$表示一次运$i$头奶牛到对面的代价 我们枚举上次运走了$j$头,显然$f[i]=min(f[i],f[i-j]+s[j]+s[0])$(注意自己要划回来) 最后不用划回来,减去一个$s[0]$即可 end. #include<iostream> #include<cstdio> #include<cstring…
题目描述 Farmer John is herding his N cows (1 <= N <= 2,500) across the expanses of his farm when he finds himself blocked by a river. A single raft is available for transportation. FJ knows that he must ride on the raft for all crossings and that that…
题目描述 Farmer John is herding his N cows (1 <= N <= 2,500) across the expanses of his farm when he finds himself blocked by a river. A single raft is available for transportation. FJ knows that he must ride on the raft for all crossings and that that…
https://www.luogu.org/problem/show?pid=2904 题目描述 Farmer John is herding his N cows (1 <= N <= 2,500) across the expanses of his farm when he finds himself blocked by a river. A single raft is available for transportation. FJ knows that he must ride…
题目:洛谷2904 分析: 裸dp-- dp方程也不难想: \(dp[i]\)表示运\(i\)头牛需要的最短时间,\(sum[i]\)表示一次运\(i\)头牛(往返)所需的时间,则 \[dp[i]=min(dp[i],dp[j]+sum[i-j])(0<=j<i)\] 注意\(sum[0]\)是\(m*2\)而不是\(0\)(船上只有FJ也需要往返时间) 以及最后一次不需要返回,所以输出要减去\(m\) 代码: #include<cstdio> #include<algori…
题目 动规方程 f[i]=min(f[i],f[i−j]+sum) 我们默认为新加一头牛,自占一条船.想象一下,它不断招呼前面的牛,邀请它们坐自己这条船,当且仅当所需总时间更短时,前一头奶牛会接受邀请,最多邀请前面的所有奶牛一起坐这条船. #include<iostream> #include<cstring> #include<cstdio> using namespace std; ; int n,m,mt[maxn],f[maxn]; int main(){ sc…
洛谷 P2904 [USACO08MAR]跨河River Crossing https://www.luogu.org/problem/P2904 JDOJ 2574: USACO 2008 Mar Silver 3.River Crossing https://neooj.com:8082/oldoj/problem.php?id=2574 题目描述 Farmer John is herding his N cows (1 <= N <= 2,500) across the expanses…
dp[ i ] = max( dp[ j ] + sum( M_1 ~ M_( i - j ) ) + M , sum( M_1 ~ M_i ) ) ( 1 <= j < i )  表示运送 i 只羊的最少时间 , 转移很显然. T T 我自己第一次写时 , dp多带了个k表示第几次送牛过河 , 可是这并没有什么卵用..还 TLE 了... ------------------------------------------------------------------------- #in…