点我进入题目

题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩。

输入输出:输入n,m,输出路径的数量。

数据范围:40% 3<=n<=30 1<=m<=20 100% 3<=n<=30 1<=m<=30

我是这么想的:膜拟过程,从1号小孩开始dfs,然后加一个记忆化搜索节省时间。

dfs(num,tim)表示球传到第num个小孩,已经传过tim次时候,d[num][tim]表示球传到第num个小孩,已经传过tim次时候已经记录过的可能传到1号小孩的次数。

刚开始的时候默认1号小孩只把球传给2号小孩,因为传给n号小孩和传给2号小孩的情况是对称的,所以乘以2,理论上节省一半时间(实际上由于记忆化搜索,节省不了多少时间)

代码如下:

/*
P1057 传球游戏
*/
#include <iostream>
#include <cstring>
using namespace std;
int n,m;
int d[31][31];
int search(int num,int tim)
{if(tim==m){if(num==1)return 1;else return 0;}else if(d[num][tim]!=-1)return d[num][tim];else return d[num][tim]=search(num==n?1:num+1,tim+1)+search(num==1?n:num-1,tim+1);
}
int main()
{memset(d,-1,sizeof(d));cin >> n >> m;cout << search(2,1)*2 << endl;return 0;
}

转载于:https://www.cnblogs.com/oier/p/7076623.html

洛谷P1057 传球游戏(记忆化搜索)相关推荐

  1. 洛谷 p1434 滑雪【记忆化搜索】

    <题目链接> Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  2. 洛谷P1057传球游戏题解--zhengjun

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的: n n n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传 ...

  3. 洛谷P1057传球游戏题解

    题目 这个题表面上看并不像DP,但是当我们看到方案数时,我们可能会想到什么??? 对,分类加法原理,在每一轮中,每一个点的方案数都要加上这个点左边的方案与右边的方案. 因此我们可以枚举,设一个DP数组 ...

  4. 交换游戏 (记忆化搜索 状压)

    链接:https://ac.nowcoder.com/acm/contest/4462/C 来源:牛客网 交换游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...

  5. 动态规划——洛谷_P1057传球游戏

    题目: 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球, ...

  6. 洛谷 1057——传球游戏(递推与递归二分)

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...

  7. 洛谷 2921 记忆化搜索 tarjan 基环外向树

    洛谷 2921 记忆化搜索 tarjan 传送门 (https://www.luogu.org/problem/show?pid=2921) 做这题的经历有点玄学,,起因是某个random题的同学突然 ...

  8. 洛谷:尼克的任务【记忆化搜索】【记忆化搜索的使用条件】

    个人对记忆化搜索有以下感悟[不保证一定正确,但保证有参考价值] 我们将搜索的过程看成在一个有向无环图上遍历的过程[也必然是这个过程]: 首先,记忆化搜索之所以能让时间复杂度为指数级别的搜索过程降到线性 ...

  9. 巧用记忆化搜索代替暴力递归(洛谷P1464题题解,Java语言描述)

    题目要求 P1464题目链接 分析 如果--你信了这题干,真的写了递归--TLE警告!!! 所以,就需要优化嘛-- [−9223372036854775808,9223372036854775807] ...

最新文章

  1. 字典生成_Python数据字典生成工具详解
  2. C# ThreadPool类(线程池)
  3. centos7.2下安装mysql5.7数据库
  4. 关于TxQBService报的错,腾讯你真牛B啊
  5. C++多线程快速入门(五)简单线程池设计
  6. 使用Aptana搭建Python开发环境
  7. 时间太少,如何阅读?
  8. acer软件保护卡怎么解除_Acer和Founder软件保护卡驱动卸载方法
  9. 超简单Python实现微信机器人自动回复
  10. 微信企业号回调 php,PHP微信企业号回调模式的开启与用法实例分享
  11. 局域网、广域网、Internet
  12. 在vue中使用Echarts的3D柱状图
  13. 区块链游戏的抢滩之战
  14. 乐优商城学习笔记十九-商品详情(二)
  15. Python 知识整理
  16. 怎么解除Word文档限制编辑?比较方便的两种办法
  17. VS2010中VB.NET中API函数的调用
  18. 医疗器械公司计算机系统和功能说明,医疗器械计算机信息管理系统基本情况介绍和功能说明...
  19. 国产 工程机械控制器SPC-SFMC-X2424A
  20. html5表单下拉列表样式,表单的各种下拉和样式大全

热门文章

  1. Mixing Milk(USACO)
  2. 回溯 皇后 算法笔记_算法笔记_04_回溯
  3. 运行php能运行asp么,配置使web server即能运行asp又能运行PHP(不装Apache)
  4. jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】
  5. java显示链表在jtable上输出_jtable的使用精华
  6. c语言计算M=11 22 33,四川计算机C语言考试笔试真题33次..doc
  7. mysql更改数据库数据存储目录_MySQL更改数据库数据存储目录
  8. php 结构体_PHP底层原理知其然知其所以然
  9. Java数据库foreign,mysql中的外键foreign key 作者:Java_xb
  10. python中forward的参数_如何将关键字参数传递给preforward钩子使用的forward?