洗牌问题

洗牌算法整理 洗牌算法,整理了常用的洗牌算法,以及优劣比较,复杂度整理和概率等 立即下载
洗转52张牌

vc2003,gcc4-2.3测试

RAND_MAX定义大小window和linux不同

方法一:随机取0-51,依次存放,用状态数组判断是否重复

  1. #include <stdlib.h>
  2. #include <time.h>
  3. #include <stdio.h>
  4. #define POKE_NUM (1000000) 
  5. void ruffle()
  6. {
  7.   int poke[POKE_NUM];//存放扑克牌
  8.   int poke_stat[POKE_NUM];//存放已选扑克牌状态
  9.   
  10.   int get;
  11.   int i;
  12.   //初始化
  13.   for (i=0; i<POKE_NUM; i++)
  14.     {
  15.       poke[i] = 0;
  16.       poke_stat[i] = 0;
  17.     }
  18.   //播下随机种子
  19.   srand( (unsigned)time( NULL ) );
  20.   
  21.   long start = time(NULL); 
  22.   for (i=0; i<POKE_NUM; i++)
  23.     {
  24.       //取随机数0-51
  25.       get = rand() % POKE_NUM;
  26.       //如果状态数组中为1, 则丢弃,i不计数
  27.       if (poke_stat[get] == 1)
  28.     {
  29.       i--;
  30.       continue;
  31.     }
  32.       //得到不重复的牌赋给数组,并且置位状态
  33.       else
  34.     {
  35.       poke[i] = get;
  36.       poke_stat[get] = 1;
  37.       printf("%d: %d/n ", i, poke[i]);
  38.     }
  39.     }
  40.   long end = time(NULL);
  41.   //打印
  42.   // for (i=0; i<POKE_NUM; i++)
  43.   // {
  44.   // printf("%d ", poke[i]);
  45.   // }
  46.   printf("/n time: %ld/n", (end-start));
  47. }
  48. int main(int argc, char* argv[])
  49. {
  50.   ruffle();
  51.   return 0;
  52. }

缺点是越到最后,随机数重复的概率越高。


方法二:
初始化一副扑克牌,将随机数作为索引,每次取出一张牌与最后一张牌互换,随机范围可逐渐缩小,并且保持连续。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define POKE_NUM (1000000) 
  5. void ruffle()
  6. {
  7.   int poke[POKE_NUM];//存放扑克牌
  8.   //int poke_stat[POKE_NUM];//存放已选扑克牌状态
  9.   
  10.   int index;
  11.   int i;
  12.   //初始化
  13.   for (i=0; i<POKE_NUM; i++)
  14.     {
  15.       poke[i] = i;
  16.       //poke_stat[i] = 0;
  17.     }
  18.   //播下随机种子
  19.   srand( (unsigned)time( NULL ) );
  20.   
  21.   long start = time(NULL); 
  22.   int temp;
  23.   for (i=0; i<POKE_NUM; i++)
  24.     {
  25.       //取随机索引,每次减一
  26.       index = rand() % (POKE_NUM-i);
  27.       temp = poke[POKE_NUM - i - 1];   //从右往左换
  28.       poke[POKE_NUM - i -1] = poke[index];
  29.       poke[index] = temp;
  30.       //如果状态数组中为1, 则丢弃,i不计数
  31.       // if (poke_stat[get] == 1)
  32.       // {
  33.       // i--;
  34.       // continue;
  35.       // }
  36.       //得到不重复的牌赋给数组,并且置位状态
  37.       // else
  38.       // {
  39.       // poke[i] = get;
  40.       // poke_stat[get] = 1;
  41.       printf("%d: %d/n ", i, poke[POKE_NUM - i -1]);
  42.       // }
  43.     }
  44.   long end = time(NULL);
  45.   //打印
  46.   // for (i=0; i<POKE_NUM; i++)
  47.   // {
  48.   // printf("%d ", poke[i]);
  49.   // }
  50.   printf("/n time: %ld", end-start);
  51. }
  52. int main(int argc, char* argv[])
  53. {
  54.   ruffle();
  55.   return 0;
  56. }

刚写了一遍,提交居然清空了,我!@#$#@$^
【论文复现】自动化细胞核分割与特征分析 HoVer-Net是一种精心设计的多分支深度学习网络架构,专为处理复杂的多组织显微图像中的细胞核实例分割与精确分类任务而开发。该网络通过创新的策略,不仅有效解决了细胞核在密集聚集区域难以准确区分的问题,还实现了对每个独立细胞核类型的细致分类。此外,HoVer-Net还引入了专门的上采样分支,这一设计旨在对每个成功分割出的细胞核实例进行进一步的核类型分类。这一分支利用高级语义信息,结合精心设计的分类策略,能够准确判断每个细胞核的所属类型,为医学研究提供了宝贵的细胞水平信息。 阅读详情

相关推荐

Surface Pro 4/5/6/7保姆级黑苹果安装:从Windows分区到OC引导配置全流程(含EFI文件替换避坑)

本文详细介绍了在Surface Pro 4/5/6/7上安装黑苹果的全流程,包括Windows分区、OC引导配置和EFI文件替换等关键步骤。通过实战经验分享,帮助用户避开常见陷阱,实现Windows与macOS双系统完美共存,特别适合对黑苹果安装感兴趣的Surface Pro用户。

weixin_30300225的博客 1369

384. 打乱数组

打乱数组 给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] shuffle() 返回数组随机打乱后的结果 示例: 输入 ["Solution", "shuffle", "reset", "shuffle"] [[[1, 2, 3]], [], [], []] 输出 [null, [3, 1, 2],.

Tzecto 747

行列式详解:从定义到应用

本文系统介绍了行列式的核心概念和应用。首先从二阶、三阶行列式入手,逐步扩展到n阶行列式的定义,讲解了余子式和代数余子式的概念。其次,详细阐述了行列式的重要性质,包括转置不变性、行列交换变号等基本性质以及乘积性质等推论。在计算方法方面,介绍了按行展开法、化上三角矩阵法等实用技巧,并列举了特殊行列式的计算案例。最后重点讨论了行列式在克拉默法则、矩阵可逆性判断、几何体积计算及线性相关性判断等领域的应用。文章强调理解行列式的几何意义和灵活运用性质的重要性,并给出了学习建议和常见误区提示。行列式作为连接代数与几何的桥

aichitang2024的博客 3034

扑克洗牌问题

时间限制:1秒 内存限制:128M。

shuai___guo的博客 431

基于HPM5E00的EtherCAT从站开发实战:从硬件解析到软件调试

实时工业以太网通信是工业自动化与运动控制领域的核心技术,它通过硬件与协议栈的协同,实现了微秒级的高确定性数据交换。其技术价值在于为多轴同步、机器人控制等复杂场景提供了高实时性、高同步精度的通信基础。在应用场景上,广泛服务于数控机床、包装机械、半导体设备等高端制造领域。本文聚焦于EtherCAT从站开发,深入解析了基于先楫HPM5E00高性能MCU与专用从站控制器(ESC)的硬件架构设计,并详细阐述了开源协议栈SOES的移植、对象字典配置以及过程数据(PDO)映射等核心软件实践,为开发者快速构建稳定可靠的实时

weixin_30915951的博客 501

Win10 LTSC 2021 CPU占用率飙升?KB5017308补丁修复全攻略

本文针对Windows 10 LTSC 2021系统中因wsappx进程导致的CPU占用率异常飙升问题,提供了详细的解决方案。核心在于安装微软官方发布的KB5017308补丁,该补丁能从根本上修复系统组件缺陷,使CPU占用恢复正常。文章详解了补丁的下载、安装步骤、注意事项及安装后的验证方法,是解决此问题的权威指南。

python9snake的博客 1263

洗牌程序

之前在写抽样问题——《编程珠玑》读书笔记这篇文章的时候提到将一个数列进行重新排列,目的是弄乱原有数据的排列,相当于洗牌,这篇文章主要讲讲这个洗牌程序的实现。         一、Fisher–Yates Shuffle         最早提出这个洗牌方法的是 Ronald A. Fisher 和 Frank Yates,即 Fisher–Yates Shuffle,其基本思想就是从原始数

Stay hungry, Stay foolish 9139

ISO 15118-20标准深度解读【精简篇】

ISO 15118-2 是开创者,它解决了“如何让电动汽车充电像给手机充电一样简单(即插即用且自动付费)”的问题,为行业奠定了基础。 ISO 15118-20 是革新者,它站在前者的肩膀上,回答了一个更宏大的问题:“如何让电动汽车深度融入未来的能源系统和智慧城市?” 它不仅是充电协议,更是一个车网互动的综合能源管理协议。简单来说,ISO 15118-2 是关于“如何充电”,而 ISO 15118-20 是关于“如何智慧地使用和管理电动汽车这块大电池”。

网络安全的研究者、新能源行业的追求者 1925

C语言经典算法之洗牌算法

在C语言中实现经典的洗牌算法,我们通常指的是Fisher-Yates(也称为Knuth-Shuffle)算法。该算法保证了随机均匀打乱一个数组中的元素顺序。

weixin_56154577的博客 2000

ROS 2 Jazzy与Gazebo Harmonic仿真实战:从零搭建机器人仿真环境与高级应用

本文详细介绍了如何使用ROS 2 Jazzy和Gazebo Harmonic从零搭建机器人仿真环境,涵盖环境配置、传感器集成、多机器人协同和GPU加速优化等高级应用。通过实战案例和性能调优技巧,帮助开发者高效构建可靠的机器人仿真系统,提升开发效率。

h9j8k7l6m5n的博客 1217

使用基于python的neurora进行表征相似性分析(RSA)

发现了一款用于表征分析的Python API,还是挺方便的,这里简单介绍一下进行表征相似性分析的使用方法。

zjh12312311的博客 2764

洗牌算法

问题描述 有一个长度为2n的数组{a1,a2,a3,…an,b1,b2,b3,…,bn},希望排序后变成{a1,b1,a2,b2,…,an,bn},请考虑有没有时间复杂度为O(n),空间复杂度为O(1)的解>法 此问题将时间复杂度和空间复杂度都定死了,笔者为了满足这个要求废了不少脑细胞也—没想出来。。现暂时抛开复杂度设定,从简单易实现的解法出发,先实现一个时间复杂度为O(n^2),空间复杂度为O

qiki_糖没味儿的程序媛小屋 485

RT-DERT安卓部署教程

这个文档中的代码案例,实现了拍照和选图识别,两个功能,可以看效果图。UI做了美化:显示类别机和数量。代码下载地址:通过网盘分享的文件:android_rtdert.zip链接: https://pan.baidu.com/s/1k6e-d_lov1OPgUmit5i_cA?pwd=hpfi 提取码: hpfi–来自百度网盘超级会员v8的分享。

AIOT魔法师 196

冰壶比赛 扑克洗牌问题

这段 C++ 代码实现了对给定的2n张牌进行洗牌操作,直到牌序恢复到初始状态,并输出每次洗牌后的牌序以及总的洗牌次数。具体来说,程序从标准输入读取一个整数n,然后模拟洗牌过程,每次洗牌后检查牌序是否回到初始状态,若回到初始状态则停止洗牌并输出总的洗牌次数。在 C++ 里,int是一种基本的数据类型,用于表示整数。它在内存中占据一定的字节数,具体字节数会因编译器和操作系统的不同而有所差异,但通常为 4 个字节。这意味着int。

ssss123456546454的博客 940

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Problem 1062 洗牌问题

Problem Description设2n张牌分别标记为1, 2, …, n, n+1, …, 2n,初始时这2n张牌按其标号从小到大排列。经一次洗牌后,原来的排列顺序变成n+1, 1, n+2, 2, …, 2n, n。即前n张牌被放到偶数位置2, 4, …, 2n,而后n张牌被放到奇数位置1, 3, …, 2n-1。可以证明对于任何一个自然数n,经过若干次洗牌后可恢复初始状态。现在你的的任务是

小明的博客 2942

深度学习工具包 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")

hdu 1210 洗牌问题

Eddy's 洗牌问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2234    Accepted Submission(s): 1456 Problem Description Eddy是个ACMer,他不仅喜欢做

hnust_xiehonghao的专栏 1282

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hdu Eddy's 洗牌问题

模拟+找规律 Eddy's 洗牌问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2770    Accepted Submission(s): 1830 Problem Description Ed

Just do IT! 914

HDU 1210 Eddy's 洗牌问题

Eddy's 洗牌问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1975    Accepted Submission(s): 1282 Problem Description Eddy是个ACMer,他不

Crazy_Frog的专栏 2316

Eddy's 洗牌问题

Problem Description Eddy是个ACMer,他不仅喜欢做ACM题,而且对于纸牌也有一定的研究,他在无聊时研究发现,如果他有2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。通过一次洗牌可以把牌的序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。那么可以证明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到初始的顺序。编程对于小于

fastkeeper的专栏 1218

hdu 1210 洗牌问题

Eddy's 洗牌问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5450    Accepted Submission(s): 3561   Problem Description Eddy是个ACMer,他不仅喜欢做ACM...

把你miku miku掉! 375

xynuoj 洗牌问题

1128: 洗牌问题时间限制: 1 Sec  内存限制: 32 MB提交: 21  解决: 11[提交][状态][讨论版]题目描述给你2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。 一次洗牌是把序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。可以证明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到 初始的顺序。编程对于小于10000的自然数N...

逆风飞翔 1121

hdu 洗牌问题 数论

Eddy's 洗牌问题 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 11   Accepted Submission(s) : 7 Font: Times New Roman | Verdana | Georgia

hpugym的专栏 486

hdu 1210 Eddy's 洗牌问题

hdu 1210 Eddy's 洗牌问题 Problem DescriptionEddy是个ACMer,他不仅喜欢做ACM题,而且对于纸牌也有一定的研究,他在无聊时研究发现,如果他有2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。通过一次洗牌可以把牌的序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。那么可以证明,对于任意自然数N,都...

diansitao5461的博客 225

【如皋OJ】1128: 洗牌问题

传送门:洗牌问题 1128: 洗牌问题  时间限制: 1 Sec  内存限制: 128 MB 题目描述 给你2N张牌,编号为1,2,3,……,n,n+1,……,2n。这也是最初的牌的顺序。一次洗牌是把序列变为n+1,1,n+2,2,n+3,3……,2n,n。可以证明,对于任意自然数N,都可以在结果M次洗牌后第一次重新得到初始的顺序。编程对于小于10000的自然数N,求出M的值。    ...

格其非心的博客 C++学习 994
上一篇: 面试啦,写个linkedlist
下一篇: 两种传递地址方法
gnuser
博客等级 码龄20年 35粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值