动态规划——传球问题
题目链接:1.传球游戏 - 蓝桥云课 (lanqiao.cn)
本题关键在于动态规划的数组设计,以及围坐一圈时索引的变化。
首先是动态规划,由于是求球传递m次回到第一位同学,那么就可以设计成一个二维数组,每个位置代表的是,这是第几次传递,传递到了哪位同学的手上。所以最后只要给出第m次传递,且在0号同学手上的方案数,也就是dp[m][0]。
其中最重要的算法是dp[i][j]+=dp[i-1][(j+1)%n]+dp[i-1][(j-1+n)%n],意思是第i次传递时球在j号同学手上的方案数,他的值等于本次传递是位于他索引下一位的同学传来的和他索引上一位的同学传来的的方案总数,大概思路如图:
(其中,索引的变化可以写作(j+1)%n,(j-1+n)%n,分别表示该索引的下一位和上一位,对n取模是为了让索引可以循环出现,如还不懂,可以通过加深印象,记住就好了)
package lanqiao;import java.util.Arrays;
import java.util.Scanner;/*** 2023/11/30*/
public class lanqiao525_传球游戏 {public static void main(String[] args){Scanner scan=new Scanner(System.in);int n=scan.nextInt();//同学人数int m=scan.nextInt();//传递次数int[][] dp=new int[m+1][n];//第m次传递到n号同学时的方法数dp[0][0]=1;//还未进行传递时的方案数for (int i=1;i<=m;i++){for (int j=0;j<n;j++){dp[i][j]+=dp[i-1][(j+1)%n]+dp[i-1][(j-1+n)%n];//因为是围坐在一起,所以序号是循环的,如123412}}System.out.println("方案数为:"+dp[m][0]);//需要得出的是经过m次传递,球回到第一位同学手中的方案数}
}
3 3
方案数为:2进程已结束,退出代码为 0
相关文章:

动态规划——传球问题
题目链接:1.传球游戏 - 蓝桥云课 (lanqiao.cn) 本题关键在于动态规划的数组设计,以及围坐一圈时索引的变化。 首先是动态规划,由于是求球传递m次回到第一位同学,那么就可以设计成一个二维数组,每个位置代表的是&#x…...
Spring: 文件服务使用spring.web.resources.static-locations配置实现文件预览功能
文章目录 一、spring.web.resources.static-locations配置实现文件预览功能1、来实现文件预览的步骤2、总结 二、其他的文件预览实现方式1、使用Controller处理文件预览请求2、集成第三方文件预览库3、使用专门的文件预览服务4、配置Nginx等反向代理进行文件预览5、注意事项&am…...
分享常用的62 个九宫格抽奖及各种宫格效果源码
九宫格抽奖及各种宫格效果详细介绍 功演示效果及源码下载地址:https://www.erdangjiade.com/js/17-0-0-0 九宫格抽奖盘是一种常见的抽奖形式,由九个格子组成,每个格子代表一个奖项。抽奖时,指针会随机旋转,最终落在某…...

【Stable Diffusion】入门-03:图生图基本步骤+参数解读
目录 1 图生图原理2 基本步骤2.1 导入图片2.2 书写提示词2.3 参数调整 3 随机种子的含义4 拓展应用 1 图生图原理 当提示词不足以表达你的想法,或者你希望以一个更为简单清晰的方式传递一些要求的时候,可以给AI输入一张图片,此时图片和文字是…...

数学建模-多目标规划算法(美赛建模)
💞💞 前言 hello hello~ ,这里是viperrrrrrr~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页ÿ…...

安装、配置MySQL
安装相关软件 MySQL Server、MySQL Workbench MySQL Server:专门用来提供数据存储和服务的软件 MySQL Workbench:可视化的 MySQL 管理工具 官网安装 https://www.mysql.com/ 官网 MySQL :: Download MySQL Installer 安装包路径 在这里选择版本和和对应…...
C++面试100问(九)
C中typdef和#define区别? #define是预处理命令,在预处理是执行简单的替换,不做正确性的检查;typedef是在编译时处理的,它是在自己的作用域内给已经存在的类型一个别名。 C中有哪些调试程序的方法? windows…...

出海品牌必备指南:海外网红营销5大底层逻辑解析
随着全球化的推进,品牌出海已经成为许多企业拓展市场的重要策略之一。在这个过程中,海外网红营销成为品牌吸引目标受众、提升知名度的有效工具。然而,要在海外市场取得成功,并不仅仅是找准网红合作伙伴,更需要深入了解…...
Linux/Ubuntu/Debian的终端中和的区别
下边举例说明: “cd /home & wine ps.exe”和“cd /home && wine ps.exe”之间的区别在于命令在类 Unix shell 环境(例如 Linux 或 macOS)中执行的方式: ‘cd /home & wine ps.exe’: 在此命令中,“…...
docker compose部署opensearch集群
docker compose 配置 假设有两台电脑 A电脑的ip为192.168.1.100 B电脑的ip为192.168.1.103 A电脑的docker compose 配置 version: 3services:opensearch:image: opensearchproject/opensearch:2.1.0container_name: opensearch-node-1environment:- cluster.nameopensearch-c…...

粤嵌6818开发板通过MobaXterm使用SSH连接开发板
链接:https://pan.baidu.com/s/18ISP4Ub1HtQx6jCvTQTUHw?pwdfjmu 提取码:fjmu 1.把SSH_config.tar.bz 下载到开发板中 2.解压 SSH_config.tar.bz 解压命令:tar -xzvf SSH_config.tar.bz 3.配置SSH 进入SSH/openssh目录&am…...
Python实战:Flask轻量级web框架入门
Flask是一个轻量级的Web框架,它是由Armin Ronacher开发的,使用Python语言编写。Flask易于上手,具有高度的可扩展性,非常适合快速开发Web应用程序。 一.Flask简介 Flask是一个基于Werkzeug WSGI工具箱和Jinja2模板引擎的Web框架。…...

docker 安装minio,详细图解
废话不多说,直接上干货 docker 安装minio 拉取镜像 docker pull minio/minio创建数据目录、配置目录 mkdir /opt/minio/data mkdir /opt/minio/config启动容器 docker run -p 9000:9000 -p 9090:9090 \--name minio \-d --restartalways \-e "MINIO_ACCESS_KE…...

【SpringBoot】请求与响应参数 IoC与DI 总结
文章目录 ① —— 请求 ——一、简单参数 RequestParam1.1 参数与形参 命名相同1.2 参数与形参 命名不同 二、实体参数2.1 简单实体对象2.2 复杂实体对象 三、数组集合参数3.1 数组3.2 集合 RequestParam 四、日期参数 DateTimeFormat五、JSON参数 RequestBody六、路径参数 Pat…...

100道面试必会算法-05-字符串转换整数 (atoi)
100道面试必会算法-05-字符串转换整数 (atoi) 实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格检查…...

Ypay源支付2.8.8免授权聚合免签系统
本帖最后由 renleixiaoxu 于 2024-3-15 09:46 编辑 产品介绍 XPay是专为个人站长打造的聚合免签系统,拥有卓越的性能和丰富的功能。采用全新轻量化的界面UI,让您可以更加方便快捷地解决 知识付费和运营赞助的难题。同时,它基于高性能的Thin…...

从零到一构建短链接系统(三)
1.根据数据库表,利用在线网站https://jully.top/generator/ 根据数据库Info自动生成代码 2.在entity中创建UserDO Data TableName("t_user") public class UserDO { /** * id */ private Long id; /** * 用户名 */ private String username; /** * 密码…...

C语言易错知识点:scanf函数
scanf在C语言学习中比较常用,但因为其涉及屏幕缓冲区导致有的时候会调入陷阱,下面分享一下常见的需要注意的事项: 1.输入末尾带有回车\n 当我们输入数据后,最后按下回车时,屏幕缓冲区的末尾都会含有这个字符 scanf的…...

如何实现图片上传至服务器
在绝大多数的项目中都会涉及到文件上传等,下面我们来说一下技术派中是如何实现原生图片上传的,这个功能说起来简单,但其实对于技术还是有考验的。图片的上传涉及到IO读写,一个文件上传的功能,就可以把IO流涉及到的知识…...

OSPF协议全面学习笔记
作者:BSXY_19计科_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 OSPF协议全面学习笔记 1、OSPF基础2、DR与BDR3、OSPF多区域4、虚链路Vlink5、OSPF报文6、LSA结构1、一类/二类LSA(Router-LSA/Network-LSA) 更新完善中... 1、…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门  / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...