【洛谷P1057】传球游戏【DP】

洛谷 P1057 传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:nn个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同... 阅读详情

题目大意:

n n n个人围成一圈,每次每个人可以把球传给左右的两个人。求一开始在 1 1 1号手上。求经过 m m m次传球球又在 1 1 1号手上的方案数。


思路:

NOIP前抱佛脚
很明显的设拿着球的人和传球次数为阶段。那么就可以设 f [ i ] [ j ] f[i][j] f[i][j]表示球在第 i i i个人手上,传了 j j j次球的方案数。那么由于只能从 i − 1 i-1 i−1和 i + 1 i+1 i+1两个人手中传过来,那么很明显就有
f [ i ] [ j ] = f [ i − 1 ] [ j − 1 ] + f [ i + 1 ] [ j − 1 ] f[i][j]=f[i-1][j-1]+f[i+1][j-1] f[i][j]=f[i−1][j−1]+f[i+1][j−1]
注意处理边界情况。
时间复杂度: O ( n m ) O(nm) O(nm)


代码:

#include <cstdio>
using namespace std;

int n,m,f[50][50];

int main()
{
	scanf("%d%d",&n,&m);
	f[1][0]=1; //初始化,一开始球在1号手上,传了0次球
	for (int j=1;j<=m;j++)
	 for (int i=1;i<=n;i++)
	  f[i][j]=f[(i-1==0)?n:i-1][j-1]+f[(i+1>n)?1:i+1][j-1];  //三木运算符处理边界
	printf("%d\n",f[1][m]);
	return 0;
}

其实还是可以爆搜+打标的(逃

传球游戏~动态规划在模拟中的应用~2020.9.24 题目来源:洛谷P1057 #AC代码 看起来是短小精悍的。 #include <iostream> using namespace std; const int maxn = 35; int f[maxn][maxn] = {0}; int main() { int n,m; cin>>n>>m; f[0][1] = 1;//是f[0][1]=1而非f[1][1]=1,因未开始传的时候球在第一个人手里。 for(int i=1;i<=m;i++){//枚 阅读详情

相关推荐

千兆以太网的接收和crc校验

解析该以太网帧,包括统计该以太网帧长度+过滤功能(端口号对不对,是否为udp协议)+CRC校验,将解析结果存入状态fifo,一旦状态fifo开始有数,就开始开启读过程,读过程开始时,首先读状态fifo,根据从状态fifo里面读出的以太网帧长度,来读数据fifo(这样能够防止跨帧读),然后在根据状态fifo里面读出的crc校验正确标志和过滤标志,来确定是否将数据fifo读出来的数据送给下一个模块。改掉之后在抓一下,可以看到抓出来的数据完全正确,从最后开始看,除去4个crc校验的尾巴,数据是到255结束的。

weixin_45284871的博客 2738

洛谷——P1057 [NOIP2008 普及组] 传球游戏 线性dp 题解

聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。比如有3个同学1号、2号、3号,并假设小蛮为1号,球传了3次回到小蛮手里的方式有1->2->3->1和1->3->2->1,共2种。游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。

lsy201009的博客 641

深度探索:机器学习中的Label Propagation算法(基于图论的半监督学习方法)原理及其应用

Label Propagation算法作为一种基于图论的半监督学习方法,有效地利用了数据的内在结构和未标注样本信息,降低了对标注数据的依赖。尽管存在对初始标签敏感、易陷入局部最优等局限性,但在图像分类、社交网络分析、生物信息学等领域展现了良好的应用前景。未来的研究方向可能包括:探索更稳健的标签初始化策略、设计抗噪声和异常值的相似度计算方法、结合深度学习模型提升模型表示能力等。随着半监督学习理论和技术的不断发展,Label Propagation及其变种算法将在更大范围内推动机器学习在标注数据有限情况下的应用

qq_51320133的博客 2279

【DP基础】传球游戏

博客主页: https://blog.youkuaiyun.com/qq_50285142 欢迎点赞????收藏✨关注❤留言 ???? 如有错误,敬请指正 ????虽然生活很难,但我们也要一直走下去???? 题目链接 题意: n个人围成一圈,从自己手上传球m次,求传到自己手上的方案数 思路: f[i][j]f[i][j]f[i][j]代表传球i次,传到j位置的方案数 传到j位置的方案数可以由两边的方案数转移过来,就等于左边位置的方案数加上右边位置的方案数,即f[i][j]=f[i−1][x]+f[i−1][y

行码棋 392

RK3568嵌入式Linux多屏显示开发指南

摘要:本篇RK3568嵌入式Linux多屏显示开发指南详细介绍了基于Qt应用层的实现方案。文章首先概述了技术架构,说明从Qt应用到硬件显示的完整流程。然后提供了两种实现方案:推荐使用Qt内置多屏支持方案,包含完整的C++代码示例和配置文件说明;对于需要精细控制的场景,给出了基于libdrm API的底层实现方案。最后重点讨论了屏幕旋转处理和多屏协同工作模式的关键技术要点,包括扩展桌面、镜像模式等实现方法。

froxy的专栏 1570

数据中心机房设备标签规范建议

机房的维护工作中,标识管理是极其重要的一部分,从基本的线缆上跳接信息的标识,到设备、机柜标识规范的实施,不同程度的体现了标识管理的重要作用。本规范适用于机房主设备、线缆、机柜(含PDU插排)、仪器仪表、动力配套设备(各类空调、消防设备、配电柜、UPS等设备)、网络口、电源插座口的标签、标识规定。动力设备的设备编号、设备名称、生产厂商及厂商技术支持热线、设备型号、设备序列号、设备使用部门、设备责任人、设备启用时间及设备保修年限、条形码。各类标签、标识可根据设备和机柜的尺寸、大小进行调整。

有地气的强弱电小圈子 3523

经典DP:传球游戏

我的想法是先找规律,经过m次传球,球回到小蛮手上,必须通过2号或者n号,可以先定义一个二维数组: dp[第几次传球][球在谁手上]=有几种方法, 第m次的时候,球回到小蛮手上,可以发现方法次数等于球传到2号手上的方法加上球传到n号手上的方法,即: dp[第m次传球][球在小蛮手上]=dp[第m-1次传球][球在2号手上]+dp[第m-1次传球][球在n号手上], 依次类推,到第一次传球的时候,球只有两种传法,一个是小蛮传给2号,一个是小蛮传给n...

黄柯柯 3772

DaVinci Developer中枚举类型变量的创建与实战应用

本文详细介绍了在DaVinci Developer中创建和使用枚举类型变量的方法与实战应用。通过智能温控系统的案例,阐述了枚举类型在嵌入式开发中的核心价值,包括提升代码可读性、类型安全性和维护便捷性。文章还提供了枚举类型在状态机实现和多模块协同中的高级应用技巧,以及调试与优化的实用建议。

ik678901234的博客 511

【洛谷】P1057 [NOIP2008 普及组] 传球游戏

我们可以发现,任何一个位置都只能从左边和右边传过来,那么他只能从他左边和他右边的同学手上接到球,那球传到他手上的路径数是不是球传到他左边同学的路径数与球传到他右边同学的路径数之和

m0_74969835的博客 850

OpenCV计算机视觉实战(3)——计算机图像处理基础

本文全面介绍了计算机视觉和数字图像处理的基础知识。从最基本的像素概念入手,详细讲解了图像在计算机中的表示方式,包括RGB、CMYK等色彩空间的工作原理及其应用场景。还系统分析了常见图像和视频文件格式的特点,梳理了计算机图像处理技术的发展历程,并重点介绍了OpenCV这一强大的开源计算机视觉库的功能与应用领域。

qq_30167691的博客 1739

2026 拉勾网:JA4+指纹绕过 + sign逆向 + 动态城市参数,月采集10万+数据实战

2026年拉勾网反爬技术全面升级,采用JA4+ TLS指纹识别、动态sign签名等多维度防护体系。本文提供工业级爬虫解决方案,通过curl_cffi模拟浏览器指纹、逆向sign加密算法、动态生成城市参数三大核心技术,实现高效稳定的数据采集。系统采用分层架构设计,包含任务调度、签名生成、多线程引擎等模块,单月可获取10万+条招聘数据。重点解析了JA4+指纹识别原理、传统方法的局限性,以及通过HMAC-SHA256算法逆向sign参数的完整过程。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2393

WIKIOI-1148 传球游戏

题目描述 Description 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有

程序猿之洞 1356

21、博弈中的对抗搜索算法解析

本文深入解析了博弈中的对抗搜索算法,涵盖极小极大算法、阿尔法-贝塔剪枝、移动排序与换位表等核心技术。文章分析了算法的数学基础与实现机制,探讨了其在国际象棋、围棋等复杂游戏中的应用,并扩展至多人游戏中的联盟与合作行为。通过对比不同类型策略的优劣,展示了对抗搜索在实际博弈系统中的演进方向与优化路径,为人工智能决策提供了理论支持与实践指导。

rust6ferris的博客 127

好题一道 洛谷P1057 [NOIP2008 普及组] 传球游戏

我们发现如果球要传到某人手里,那么只能来源于两种情况——右边传过来的或左边传过来的。然后想不出怎么DP的,蚌埠住了看了题解QAQ,结果一看那个状态转移方程瞬间明了。这样,我们不难想到传到某个人的情况总数等于从左边传来的可能数+右边传来的可能输。一开始想了个爆搜BFS做法,然后超时了= =,怎么改也超时。后来看了一眼算法标签,发现有DP,于是就朝着DP想。于是我们开一个二位数组用俩for循环模拟就可以啦。最后注意1号和n号要特判。

Trust_food的博客 256

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

洛谷P1057 传球游戏【dp】

题目:https://www.luogu.org/problemnew/show/P1057 题意: n个人围成一个圈,传球只能传给左边或是右边。 从第一个人开始传起,经过m次之后回到第一个人的传球方案有多少种。 思路: 发现有的时候dp的转移方程可以通过写递归得到。把递归给变成dp 用$dp[i][j]$表示第$j$号开始传$i$次回到$j$的方案数。很容易想到,第$i$次回到$j$...

weixin_30319153的博客 116

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

做题笔记 动态规划DP (洛谷P1057传球游戏 NOIP2008普及组)

题目传送门 洛谷P1057传球游戏 思路分析 这个题很明显是DP的题啦(毕竟我是从洛谷训练场DP这一块看到的 ) 我们来分析一下题目 先模拟一下传球的过程,这里我简单画了个图(图简陋,字还丑,委屈一下各位吧) 从图里可以看到,假设是第i个人传球,那他只能传给第i+1个或是第i-1个,这里第1个和第n个还需要特判一下 那么假设f[i][j]为用j次传到第i个人的总方法数,状态转移方程就是 这里...

编程笔记 445

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

洛谷P1057:传球游戏(动态规划)

https://www.luogu.org/problemnew/show/P1057 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去...

1400

洛谷 P1057 传球游戏(背包DP)

题目大意: 有n个人围成一圈,每个人可以把手上的球传给左边或者右边,现在小明开始传球,问m次后,把球传回给自己的次数。 解题思路: 考虑DP,使用带记忆的DP,首先我们的状态可以设为[还剩的传球次数][到谁手里了],转移方程为 本人拿到的球返回小明的次数=右边那位小朋友拿到的球返回给小明的次数 +右边那位小朋友拿到的球返回给小明的次数 #include <bits/stdc+...

FrostMonarch的博客 233

洛谷P1057 传球游戏(DP)

【题目描述】 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:nnn个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了mmm次以后,又回到小蛮手里。两种传球方法被视作不同的方法,当且仅当

一只快乐的小蒟蒻~ 283

洛谷P1057 传球游戏(dp)

P1057 传球游戏 题解:dp[i][j]=dp[i+1][j−1]+dp[i−1][j−1]dp[i][j] = dp[i + 1][j - 1] + dp[i - 1][j - 1]dp[i][j]=dp[i+1][j−1]+dp[i−1][j−1]表示球传到第iii个人传球次数为jjj的时候的方案数。边界为dp[1][0]=1dp[1][0] = 1dp[1][0]=1。(这个不用多说叭…...

Eternally831143的博客 346

洛谷 p1057 传球游戏 线性dp 计数型

605宿舍一起做游戏,游戏规则是这样的,n个同学围成一圈,当学长开始狗叫时开始传球,每个同学可以把球传给左右同学中的任意一个,当学长不再狗叫的时候传球停止,球在手中的同学需要表演节目。现在从yao开始传球,yao问有多少种不同的传球办法可以使球在传了m次之后又会到yao手里。605很大,可能有3-30个舍员。任何一个球只能从左边或者右边传来,那球传到手上的路径数就是左边同学传过来的的路径数与右边传过来的路径数之和。但是要特殊判断一下1和n,因为1的上一行是n,n的下一行是1。

qq_73333608的博客 225

洛谷P1057_传球游戏_dp

题目大意:1~n个同学围成圈传球,球初始在1的手上,可以传给相邻的左边或者右边的同学,传m次,问球还是在1同学的手上的传球方法数 将环拆开,1~n队列, dp[i][j]表示传球i次球在j号同学的方法数 初始化dp[0][1] = 1; 状态转移方程:dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1]; 注意:队头和队尾单独处理 #include &lt;...

喵 喵 喵~ 265

洛谷P1057 [NOIP2008 普及组] 传球游戏【DP】【黄】

Date:2022.02.21 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。两种传球方法被视作

lppppppppps的博客 262

洛谷 P1057 传球游戏 【dp】(经典)

题目链接:https://www.luogu.org/problemnew/show/P1057 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球...

weixin_30706507的博客 102

洛谷 P1057 [NOIP2008 普及组 T3]:传球游戏 ← 环形DP

​不妨设小蛮为 0 号,所有人的编号是 0∼n−1。 ● 环形动态规划 (1)状态 f[i][j]:表示球传了 i 次后,在小朋友 j 手中的方案数。 (2)利用最后一步法确立状态转移方程:f[i][j]=f[i-1][j-1]+f[i-1][j+1] (3)显然,所求为 f[m][0]。其中,设 f[0][0]=1。

hnjzsyjyj的专栏 549

动态规划:线性dp

【代码】动态规划:线性dp。

WG_17的博客 485
上一篇: 【洛谷P2014】选课【树形DP】【背包】
下一篇: 【洛谷P1006】传纸条【DP】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值