随笔分类 -  dp

Dropping water balloons
摘要:题意:给你k个水球n层楼(n很大) 现在做实验在楼上向下丢水球,若水球没破可以重新丢,求把所有水球弄破的最小试验次数。分析:开始完全没思路啊。从正面求没法做不会表示状态,做实验是只能从第一层,一层层向上试,应该dp[i][j]有i个水球,做j次实验能达到的最高楼层数,考虑到求破没破的情况若球破了,可... 阅读全文

posted @ 2015-10-13 22:38 积跬步、至千里 阅读(146) 评论(0) 推荐(0)

Easy Climb
摘要:题意:有n块石头,给定他们的高度,现保持第一和最后一块高度不变,其他可增加和减少高度,求通过变换使所有相邻石头的高度差的绝对值不大于d,所变化高度总和的最小值。分析:状态还可以想出来,dp[i][j]=min(dp[i-1][k])+abs(s[j]-h[i]),j,k表示i,i-1高度的状态,h[... 阅读全文

posted @ 2015-10-12 22:28 积跬步、至千里 阅读(254) 评论(0) 推荐(0)

Lighting System Design
摘要:题意:从小到大给出额定功率,给出该功率费用,和灯泡的数量和单价,现在灯泡能在比他额定功率大的功率运行,求让所有灯泡正常工作的最小费用分析:问题转化为求用哪几个功率运行灯泡最小费用,dp[i]前i个功率的灯泡正常最小费用dp[i]=min(dp[i],dp[j]+num)(j#include #inc... 阅读全文

posted @ 2015-10-11 21:40 积跬步、至千里 阅读(317) 评论(0) 推荐(0)

Jin Ge Jin Qu hao
摘要:题意:n首歌和一首经典歌已知其长度,一首歌开始唱必须唱完,现在已知剩余时间,求最多能唱歌的个数并保证唱歌时间总长最大分析:留最后一个时间唱经典,然后对剩下的时间用背包求出最大个数,并求出总长最大的一个。#include #include #include #include #include #inc... 阅读全文

posted @ 2015-10-11 21:29 积跬步、至千里 阅读(324) 评论(0) 推荐(0)

Tour
摘要:题意:给n个点的坐标,求形成的最短的闭合回路。分析:经典问题,dp[i][j]表示有1-i点再由j回到1点的最短距离,i点有两种情况,在去的路径上dp[i][j]=min(dp[i][j],dp[i-1][j]+dis[i][i-1]);在回的路径上dp[i][i-1]=min(dp[i][i-1]... 阅读全文

posted @ 2015-10-11 21:11 积跬步、至千里 阅读(248) 评论(0) 推荐(0)

A Spy in the Metro
摘要:题意:n个车站,已知到达相邻车站的时间,有m1辆车从1站出发已知发车时间,有m2辆车从n站出发已知发车时间,求从1到达n所需等车的总时间最小。分析:有三种情况,在原地等,乘左到右的车,乘右到左的车dp[i][j]=min(dp[i][j+1]+1,dp[i-1][j+t[i-1]],dp[i+1][... 阅读全文

posted @ 2015-10-11 20:59 积跬步、至千里 阅读(323) 评论(0) 推荐(0)

The Tower of Babylon
摘要:题意:有n个,长x宽y高z的长方体,把这些长方体摞起来,上面长方体底面的长宽一定要小于下面的,求能摞的最大高度。分析:一个长方体,可以有三种放法,先把所有放的状态存起来,按底面升序排列,dp[i]前i个能构成的最大高度,dp[i]=max(dp[i],dp[j]+h) h为当前长方体高度#inclu... 阅读全文

posted @ 2015-10-11 20:13 积跬步、至千里 阅读(315) 评论(0) 推荐(0)

Partitioning by Palindromes
摘要:题意:给定一个字符串,求能分成最小几个回文串分析:简单dp dp[i]前i个字符能分成的最小数量 dp[i]=min(dp[i],dp[j-1]+1) (j-i 是回文串)#include #include #include #include #include #include #include #... 阅读全文

posted @ 2015-10-11 20:01 积跬步、至千里 阅读(254) 评论(0) 推荐(0)

导航