洛谷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 青蛙过河 (思路错了)
在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串 ...
随机推荐
- Web处理方式
ProcessRequest 方法简称 PR方法 PR方法内部调用Page_Load方法 MVC设计模式 Model是指要处理的业务代码和数据操作代码 View视图主要是指的跟用户打交道并能够展示 ...
- HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor
看到的最长的类名: HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhere ...
- 20165305 实验一: Java开发环境的熟悉
实验1-1 建立"自己学号exp1"的目录. 在"自己学号exp1"目录下建立src,bin等目录. javac,java的执行在"自己学号exp1& ...
- LDA模型了解及相关知识
什么是LDA? LDA是基于贝叶斯模型的,涉及到贝叶斯模型离不开“先验分布”,“数据(似然)”和"后验分布"三块.贝叶斯相关知识:先验分布 + 数据(似然)= 后验分布. 贝叶斯模 ...
- create-react-app @observer装饰器报错
npm install --save-dev babel-plugin-transform-decorators-legacy 然后在node_modules/babel-preset-react-a ...
- 转:【专题九】实现类似QQ的即时通信程序
引言: 前面专题中介绍了UDP.TCP和P2P编程,并且通过一些小的示例来让大家更好的理解它们的工作原理以及怎样.Net类库去实现它们的.为了让大家更好的理解我们平常中常见的软件QQ的工作原理,所以在 ...
- AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了
AI赌神称霸德扑的秘密,刚刚被<科学>“曝光”了 称霸德州扑克赛场的赌神Libratus,是今年最瞩目的AI明星之一. 刚刚,<科学>最新发布的预印版论文,详细解读了AI赌神背 ...
- 实现私有化(Pimpl) --- QT常见的设计模式
转载自:http://blog.sina.com.cn/s/blog_667102dd0100wxbi.html 一.遇到的问题 1.隐藏实现 我们在给客户端提供接口的时候只希望能暴露它的接口,而隐藏 ...
- ORM for Net主流框架汇总
ORM框架:Object/Relation Mapping(对象/关系 映射)的缩写,易于理解的模型化数据的方法.简单的说就是把数据库的关系型数据类型转换为用对象型程序控制的框架类型. 框架优缺点分析 ...
- 每日linux命令学习-head命令和tail命令
本节主要学习了linux文件浏览的相关命令,包括cat.less.more.read.tail等,由于本人经常使用cat.less.more命令,已经较为熟悉,所以本节重点学习head命令和tail命 ...