摘要: 分析:本题为区间型动态规划,dp[i][j]表示从第 i堆合并到第j堆的最小代价,sum[i][i]表示第i堆到第j堆的石子总和,则动态转移方程:dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + sum[i][j]) (i 2 #include ... 阅读全文
posted @ 2014-07-25 11:07 Acmer_侯贺帅 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题意:有n根木棒,长度和质量都已经知道,需要一个机器一根一根地处理这些木棒。该机器在加工过程中需要一定的准备时间,是用于清洗机器,调整工具和模板的。机器需要的准备时间如下:1.第一根需要1min的准备时间; 2.在加工了一根长为l ,重为w的木棒后,接着加工一根长为 l’(... 阅读全文
posted @ 2014-07-22 14:12 Acmer_侯贺帅 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 假设所有西瓜重 Asum,所求的是用 Asum / 2 的背包装,最多装下多少。刚开始用贪心作的,WA。后来用01背包,结果TLE,数据太大。原来用的是深搜!dfs(int sum, int i) 表示当前装已了 sum,对第 i 个进行决策。用时1200多MS,不知道大牛们60MS是怎么搞的,泥煤... 阅读全文
posted @ 2014-07-17 17:35 Acmer_侯贺帅 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 要求答对一半或以上就算过关,请问有多少组答案能使他顺利过关。逆向思维,求答错一半或以下的组数1,错排错排公式的由来 pala提出的问题:十本不同的书放在书架上。现重新摆放,使每本书都不在原来放的位置。有几种摆法? 这个问题推广一下,就是错排问题:n个有序的元素应有n!种不同的排列。如若一个排列式... 阅读全文
posted @ 2014-07-16 21:56 Acmer_侯贺帅 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 动态转移方程:dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]即要想兑够 i,有三种方法:1.从 i - 1再增加一个1分的;2.从i - 2再增加一个2分的;3.从 i - 3再增加一个3分的。两个 for循环:i :1-->3i = 1 表示只用1分的兑法,i ... 阅读全文
posted @ 2014-07-12 11:41 Acmer_侯贺帅 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题意:往一个塔里放数,取数,找第 k 个大的数刚开始用 stack 做的,不知道怎样找第 k 个数又想到用 vector ,以前用过注释有点多吧 ......代码如下:#include#include //定义 c++ 中的容器所需的头文件#include ... 阅读全文
posted @ 2014-05-22 21:02 Acmer_侯贺帅 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题意:给我们两个序列,看能否通过压栈,出栈将第一个序列转换成第二个。思路:将序列 1 依次压栈,同时看是否和序列 2 当前元素相同代码如下:#include#include#define max 100using namespace std;int main(){ stacks; int... 阅读全文
posted @ 2014-05-13 10:57 Acmer_侯贺帅 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题意:从开始位置走到结束位置,恰好走 t 步 YES否则 NO搜索题,由于是恰好走到,所以用到了奇偶剪枝什么是奇偶剪枝,我也是刚知道所给步数为 t ,起始位置坐标 (begin_x,begin_y), 结束位置坐标 (end_x,end_y)两位置最短距离为 ju = abs(end_x - beg... 阅读全文
posted @ 2014-05-06 15:19 Acmer_侯贺帅 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 大概作了一周,终于A了类似于求最长公共子序列,稍有变形当前序列 ch1 中字符为 a,序列 ch2 中字符为 b则有 3 种配对方式:1. a 与 b2. a 与 -3. - 与 b动态转移方程:dp[i][j] = max(dp[i - 1][j - 1] + g(ch1[i],ch2[j]) ,... 阅读全文
posted @ 2014-05-05 09:40 Acmer_侯贺帅 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 刚开始用的动态规划+贪心知道转移方程,但不知如何实现下面为别人的思想:【设 f [i,j] 表示齐王按从强到弱的顺序出马和田忌进行了 i 场比赛之后,田忌从“头”取了 j 匹较强的马,从“尾”取了 i-j 匹较弱的马,所能够得到的最大盈利。状态转移方程如下:f[i,j]=max{f[i-1,j]+g... 阅读全文
posted @ 2014-05-01 16:57 Acmer_侯贺帅 阅读(180) 评论(0) 推荐(0) 编辑