自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 动态规划—Problem R

动态规划—Problem R 题意 题意:给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量。要求出重量最少能装满钱罐时的最大价值。 解题思路 完全背包问题。关于完全背包嘛,即在01背包的基础上,每种物品有无限件。也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件……等很多种。如果仍然按照解01背包时的思路,令f[i]

2016-05-30 21:58:02 506

原创 动态规划—Problem G

动态规划—Problem G 题意 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手

2016-05-30 21:41:21 284

原创 动态规划—Problem H

动态规划—Problem H 题意 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!命运大迷宫可以看成是一个两维的方格阵列,如下图所示:

2016-05-26 21:38:20 427

原创 动态规划—Problem Q

动态规划—Problem Q 题意 收集骨头。一个人有一个背包,背包容积是V,不同的骨头有不同的体积和价值,求收集到骨头价值的最大值。 解题思路 背包问题。剖析下问题,“将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵扯前i-1件物品的问题。如果不放第i件物品,那么问题就转化为“前i-1件物品放入容量为v的背包中”,价值为dp[i-

2016-05-12 20:37:16 253

原创 动态规划—Problem P

动态规划—Problem P 题意 在一无限大的二维平面中,我们做如下假设: 1、每次只能移动一格; 2、不能向后走(假设你的目的地是“向上”,那么你可以向左走,可以向右走,也可以向上走,但是不可以向下走); 3、走过的格子立即塌陷无法再走第二次; 求走n步不同的方案数(2种走法只要有一步不一样,即被认为是不同的方案)。 解题思路 递推。关键是找出递推公式。现在用数组dp[n]表示走

2016-05-10 18:29:11 249

原创 动态规划—Problem C

动态规划—Problem C 题意 下棋。每颗棋子有不同的数值,要求只能从数值小的棋子走向比它大的棋子,如果下一颗棋子比它小就不能继续走了。求此过程中所走棋子代表的数的最大值。 解题思路 题目一大串,说白了就是个求最大递增子序列和。明白问题的实质后再做就不难了,明确状态方程就行:sum[j]=max{sum[i]}+a[j]; 其中,0<=i<=j,a[i]#include<iostream

2016-05-10 15:02:26 489

原创 动态规划—Problem D

动态规划—Problem D 题意 有一组数,它们的共同特征是它们的因数只含2,3,5,7,有5842个数,要求输入一个数输出对于位置的数是多少。 解题思路 分析题意,要做的事就是求出所有这些符合条件的数,然后输出就不难了。若一个数是Humble数,则它的2、3、5、7倍仍然是Humble数。设dp[i]为第i个Humble数,则dp[t] = min(2*dp[num2], 3*dp[nu

2016-05-08 16:56:54 204

原创 动态规划—Problem E

动态规划—Problem E 题意 有n种长方体,每种长方体都有无限多个,问用这些长方体最高能摆多高。要求是在下面的长方体的长要大于上面长方体的长,宽大于上面长方体的宽。 解题思路 读题发现,其实就是求最长的子序列问题,单调递减序列,但是复杂之处在于如何对长宽表示以及排序。在这里不妨采取让长和宽排序按递减的方式把问题转化为求最长单调递减序列。 感想 感觉还是有难度的,特别是在长和宽处理时

2016-05-07 22:39:24 548

原创 动态规划—Problem O

动态规划—Problem O 题意 将一个十进制数转换为二进制数。 解题思路 采取比较传统的方法,对输入的数除以2取余,存放到数组里,除到1时存入1结束。 感想 昨晚A的忘记写博客了,额~ AC代码#include<iostream>#include<cstring> using namespace std;int main(){ int n; int a[20

2016-05-07 18:03:54 257

原创 动态规划—Problem N

动态规划—Problem N 题意 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 解题思路 递推。先分析下直线分割平面的情况,增加第n条直线的时候,跟之前的直线最多有n-1个交点,此时分出的部分多出了(n-1)+1;折线也是同理,f(1)=2,f(

2016-05-05 09:59:26 336

原创 动态规划—Problem K

动态规划—Problem K 题意 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 解题思路 题目所述,但并未发现图,于是百度找到了原题与图(原图已附上)。分析后发现与前几个做的题目类似,思路同样也是递推,而且dp[1=1.dp[2]=2,同样的递推公式为:dp[i]=dp[i-1]+dp[i-2]。然后根据输入的a,b,相应输出dp

2016-05-04 16:41:39 207

原创 动态规划—Problem L

动态规划—Problem L 题意 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,求出铺放方案的总数。 解题思路 递推,假设用dp[i]表示2*i的方格一共有组成的方法数,我们已知dp[1]=1,dp[2]=2。现在假设我们已经知道了dp[i-1]和dp[i-2],再求dp[i],不过是在2*(i-1)的格子后边加上一格2*1的方格罢了,骨牌在这一格上横着放,竖着放,如

2016-05-03 14:08:45 226

原创 动态规划—Problem J

动态规划—Problem J 题意 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,求出共有多少种走法。 解题思路 递推问题,类似斐波那契数列。分析题目,可得到: dp[1] = dp[2] = 1; dp[n] = dp[n-1] + dp[n-2] (n > 2)。 创建dp数组,把到达每一层的走法放进去,最后根据输入相应输出即可。 感想 难度一般

2016-05-02 14:35:51 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除