洛谷P1244 青蛙过河 DP/思路
又是一道奇奇怪怪的DP(其实是思路题).
原文戳>>https://www.luogu.org/problem/show?pid=1244<<
这题的意思给的挺模糊,需要一定的人生经验理解能力.
题目想必已知,我就提几点可能会搞错的点吧.
1.题目说了青蛙可以:A→B(表示可以从A跳到B,下同),A→C,A→D,C→B,D→B,D→C,C→D;但却不能跳到A,B上再跳回来.所以不可以脑补成汉内塔那种跳法.
2.青蛙只能跳到比它大1号的青蛙上面,而不是比他大的青蛙就行.所以不可以脑补成汉内塔.
3.可以把一套操作看成一个单位元.我对一套操作的定义如下:
当k确定而h=0时,没有中间柱子,蛤蛤们只能通过荷叶来移动.每片荷叶只能有1位青蛙.所以要求最大的通过数目就必须把所有的荷叶用上.西方哪一片荷叶我.....
由于他们必须按顺序从小到大从上到下垒起来.所以这种情况下,最大通过数目为k+1.
如k=4时
1
2
3
4
5
A _ _ _ _ B
从上到下跳到荷叶上:
5 1 2 3 4
A _ _ _ _ B
最后一位直接到B
1 2 3 4 5
A _ _ _ _ B
然后只能4先跳到B上
4
1 2 3 5
A _ _ _ _ B
直至完成全部操作.这个过程就是通过两个柱子和k片荷叶完成的一个单位操作 .之后为了简化问题,我们以单位操作为最小单位讨论问题.
我们把单位元编号,若荷叶有k片,则一个单位最多移动k+1只青蛙.我们令第1到k+1只为整体D1,而k+2到2k+2为D2,以此类推.
假设情况柱子有1根,则易得最多通过2个单位青蛙.(D1-->柱1,D2-->B,D1-->B)
有两根时,我们模拟过程:D1-->柱1,D2-->柱2,这个时候第一这个整体可以满足条件跳到D2头上,D1-->柱2,之后,柱1空着,加入D3,D3-->柱1,
但此时D2被压在下面,所以就没有骚操作可以再进行了,只能加入D4直接跳到B.然后依次全部跳到B.得出结论.h=2时 通过4个单位.
当没有柱子时,显然只有一个单位通过.观察结论,得出公式:当有k荷叶,h柱时,可通过青蛙(k+1)*2^h只.
答案就出来了,虽然代码很简单,但还是贴一下.
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int i,j,m,h,k,a;
while(cin>>h>>k)
cout<<(k+)*pow(,h)<<endl;
}
希望各位在写完后可以为(k+1)*2^h只青蛙奉献出(k+1)*2^h秒,不然他们可能会非常angry.
PS 这题我没用DP,标签摘了洛谷的~
洛谷P1244 青蛙过河 DP/思路的更多相关文章
- 洛谷 P1244 青蛙过河
		P1244 青蛙过河 题目描述 有一条河,左边一个石墩(A区)上有编号为1,2,3,4,…,n的n只青蛙,河中有k个荷叶(C区),还有h个石墩(D区),右边有一个石墩(B区),如下图所示.n只青蛙要过 ... 
- 洛谷P1244 青蛙过河
		P1244 青蛙过河 362通过 525提交 题目提供者该用户不存在 标签 难度普及- 时空限制1s / 128MB 提交 讨论 题解 最新讨论更多讨论 题目什么意思 题目看不懂啊 题目描述 有一条河 ... 
- 洛谷P2362 围栏木桩----dp思路
		在翻dp水题的时候找到的有趣的题0v0 原文>>https://www.luogu.org/problem/show?pid=2362<< 题目描述 某农场有一个由按编号排列的 ... 
- 洛谷P1244 [NOI2000] 青蛙过河  [2017年4月计划 动态规划07]
		P1244 青蛙过河 题目描述 有一条河,左边一个石墩(A区)上有编号为1,2,3,4,…,n的n只青蛙,河中有k个荷叶(C区),还有h个石墩(D区),右边有一个石墩(B区),如下图所示.n只青蛙要过 ... 
- P1244 青蛙过河
		P1244 青蛙过河NOI2000主要思想:数学归纳法 递推 压位高精度 化归 理解能力和找规律的能力题意再述:1.青蛙从上到下必须连续递增或者下面是石墩 而不能是1 12 33 4而且每时每刻都要满 ... 
- 【洛谷】P1052 过河【DP+路径压缩】
		P1052 过河 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙 ... 
- 【题解】洛谷P1052 [NOIP2005TG] 过河(DP+离散化)
		题目来源:洛谷P1052 思路 一开始觉得是贪心 但是仔细一想不对 是DP 再仔细一看数据不对 有点大 如果直接存下的话 显然会炸 那么就需要考虑离散化 因为一步最大跳10格 那么我们考虑从1到10都 ... 
- 【洛谷】P1052 过河(状压dp)
		题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ... 
- HRBUST 1186 青蛙过河 (思路错了)
		在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串 ... 
随机推荐
- 连接远程数据库时出现 SSH: expected key exchange group packet from server  / 2003 - Can't connect to MySQL server on 'XXX' (10038)  / 1130 - Host 'XXX' is not allowed to connect to this MySQL server
			昨天在自己的远程服务器上玩,把系统重装了.新装了MySQL,在本地用navicat连接的时候出了几个小问题. 问题一:SSH: expected key exchange group packet f ... 
- Axure RP Extension for Chrome修复
			Axure RP Extension for Chrome安装之前一直用 Firefox 浏览器浏览原型文件,一直用不惯,而且用 Firefox 的唯一目的就是看原型.其他都是用 Chrome 浏览器 ... 
- STM32 一个定时器产生4路      独立调频率,占中比可调,脉冲个数可以统计。
			实现这个功能,基本原理是利用STM32 的输出比较功能. 1.其它设置就是普通定时器的设置这里开启,四个输出比较中断,和一个更新中断, 更新中断这里不需要开也可以达到目的,我这里开启是做其它的用处的. ... 
- SpringMVC常用注解的规则(用法)
			SpringMVC注解 @RequestMapping用法: a. 用在controller方法上: 标记url到请求方法的映射, 其实就是通过一段url地址, 找到对应需要执行的 ... 
- android使用inject需要注意的地方
			android使用inject需要注意的地方1.viewmodel里面添加注解@Inject FavoritesDBManager mFavoritesDBManager; 2.Component里面 ... 
- mongodb  批量修改
			db.getCollection(').find({}).forEach( function(item) { item.date = item.date.replace("2018-11-2 ... 
- Mybatis 在 insert 之后想获取自增的主键 id
			记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ... 
- Struts2 的 配置
			三.Struts2配置 Struts2的核心配置文件 1.名称和位置是固定的 在src下struts.xml 2.Struts根标签 Package Action Result Action Pa ... 
- RTP协议全解析(H264码流和PS流)(转)
			源: RTP协议全解析(H264码流和PS流) 
- Python 一些有趣的技巧,包括协程例
			1. 路径操作 比起 os 模块的 path 方法,python3 标准库的 pathlib 模块的 Path 处理起路径更加的容易. ####获取当前文件路径 前提导入 os 和 pathlib 包 ... 
