描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1617 FJ要把\(n\)头奶牛用船运到河对岸.FJ自己在船上要用\(m\)时间,如果运送\(i\)头牛,还需要额外的\(w[1]+w[2]+...+w[i]\)的时间,FJ如果不是一次运完,自己回来的时候还需要\(m\)时间,问最少需要多少时间. 分析 用\(dp[i]\)表示把前\(i\)头牛送过去的最短时间(不包括FJ最后回来的时间). 那么对于\(dp[i]\),可以有两种选择: 1.…
River Crossing渡河问题 bzoj-1617 Usaco-2008 Mar 题目大意:题目链接. 注释:略. 想法:zcs0724出考试题的时候并没有发现这题我做过... 先把m求前缀和,存在bfr数组里. 然后就可以dp了: 状态:dp[i]表示送完前i头牛的最小时间. 转移:$dp[i]=min\{dp[j]+bfr[i-j]\}$; 最后,附上丑陋的代码... ... #include <iostream> #include <cstdio> #include &…
BZOJ_1672_[Usaco2005 Dec]Cleaning Shifts 清理牛棚_动态规划+线段树 题意:  约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西.约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚, 约翰的奶牛中有N(1≤N≤10000)头愿意通过清扫牛棚来挣一些零花钱.由于在某个时段中奶牛们会在牛棚里随时随地地乱扔垃圾,自然地,她们要求在这段时间里,无论什么时候至少要有一头奶牛正在打扫.需要打扫的时段从某一天的第M秒开始,到第E秒结束f0…
51nod_1412_AVL树的种类_动态规划 题意: 平衡二叉树(AVL树),是指左右子树高度差至多为1的二叉树,并且该树的左右两个子树也均为AVL树. 现在问题来了,给定AVL树的节点个数n,求有多少种形态的AVL树恰好有n个节点. 分析: 把一个AVL树拆成根节点,左子树和右子树. 左子树和右子树的情况只有两种:高度相等或者高度差1. 设f[i][j]表示i个结点,高度为j的AVL树的个数. 转移:f[i][j]+=f[k][j-1]*f[i-k-1][j-1]+2*f[k][j-2]*f…
动态规划中包含3个重要的概念: 1.最优子结构 2.边界 3.状态转移公式 以跳台阶为例,最优子结构为f(10)=f(9) + f(8),边界是f(1)=1, f(2)=2,状态转移公式f(n)=f(n-1) + f(n-2) 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 解法1 首先对这道题,我们可以通过找规律来解一只青蛙可以跳上1级台阶,也可以跳上2两级台阶当n = 1时,有1种跳法当n = 2时,有2种跳法…
问题 B: [动态规划]skiing 时间限制: 1 Sec  内存限制: 128 MB提交: 28  解决: 11[提交][状态][讨论版] 题目描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个 区域中最长底滑坡.区域由一个二维数组给出.数组的每个数字代表点的高度.下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7…
描述 http://poj.org/problem?id=3176 给出一个三角形,每个点可以走到它下面两个点,将所有经过的点的值加起来,问最大的和是多少. Cow Bowling Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16826   Accepted: 11220 Description The cows don't use actual bowling balls when they go bowling.…
Transmission Delay 传输谍延时 bzoj-1581 Usaco-2009 Hol 题目大意:题目链接. 注释:略. 想法: 动态规划. 首先我们考虑从后往前dp.(最近好多题都是从后往前啊). 这个题就是如此. 状态:dp[i][j]表示i~n中用了j个1的方案数. 第一问中我们只需要加就行了. 第二问,如果当前位是0的方案比k大,那么我们将这位上添0: 如果当前位是0的方案比k小,我们将这位添1. 最后,附上丑陋的代码... ... #include <iostream>…
股票交易 bzoj-1855 Scoi-2010 题目大意:说不明白题意系列++...题目链接 注释:略. 想法:这个题还是挺难的. 动态规划没跑了 状态:dp[i][j]表示第i天手里有j个股票的最大获利. 转移:第i天可以选择搞事情或者什么都不干. 如果不买不卖的话,有dp[i][j]=dp[i-1][j] 如果选择买入,dp[i][j]=dp[i-w-1][k]-ap[i](j-k)|k>=j-as[i] 如果选择卖出,dp[i][j]=dp[i-w-1][k]+bp[i](k-j)|k<…
食物链 bzoj-4562 Haoi-2016 题目大意:给你n个点,m条边的DAG,求所有的满足条件的链,使得每条链的起点是一个入度为0的点,中点是一条出度为0的点. 注释:$1\le n\le 10^5$,$1\le m\le 2*10^5$. 想法:考试T2,全场切 动态规划 状态:dp[i]表示从这个点到出度为0的点的方案数. 转移:dp[i]+=dp[to[i]] 然后用记忆化爆搜即可. 最后,附上丑陋的代码... ... #include <iostream> #include &…