首页 > 编程语言 >随机产生n个数的排列(Fisher-Yates洗牌算法)

随机产生n个数的排列(Fisher-Yates洗牌算法)

时间:2023-11-16 16:58:34浏览次数:27  
标签:Yates int 洗牌 个数 算法 Fisher

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N];
// Fisher-Yates洗牌算法
void shuffle(int n)
{
    srand(time(NULL));
    for (int i = n; i > 1; i--)
    {
        int j = rand() % i + 1;
        swap(a[i], a[j]);
    }
}
int main()
{
    int n;
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) a[i] = i;
    //调用函数
    shuffle(n);

    for (int i = 1; i <= n; i++)
        printf("%d ", a[i]);
    return 0;
}

标签:Yates,int,洗牌,个数,算法,Fisher
From: https://www.cnblogs.com/acwhr/p/17836690.html

相关文章

  • 无涯教程-JavaScript - FISHER函数
    描述FISHER函数返回x处的Fisher变换。这种转换产生的功能通常呈正态分布而不是倾斜。使用此功能对相关系数执行假设检验。语法FISHER(x)争论Argument描述Required/OptionalXAnumericvalueforwhichyouwantthetransformation.RequiredNotesFisher变换的等......
  • IC设计产业震荡,高通裁员潮或掀起市场洗牌 | 百能云芯
    高通(Qualcomm)是知名的IC设计公司,在2023年第二季度财报会议上,因市场不景气,提出了强调成本控制的计划。同时,高通也向美国地方政府提交了裁员计划,这波裁员潮传至台湾。然而,高通的裁员可能对供应商和采购数量造成影响,因为台湾供应链与之密切相关,市场的挑战会连锁反应。特别是手机零部件......
  • 韩国上市公司FSN拟投资合约黑马WEEX 交易所赛道加速洗牌
    新加坡,2023年8月1日加密衍生品交易所WEEX将以1亿美金估值完成新一轮融资,韩国KOSDAQ上市公司、数位营销巨头FSN计划领投。WEEX表示,本次募集资金将主要用于扩大全球cryptocurrency市场版图,同时给用户提供更安全的交易保障。当前,cryptocurrency交易赛道仍以中心化平台为......
  • [USACO13DEC] The Bessie Shuffle S 洗牌 题解
    提供一种思路,可以做到\(O(n)\)。目前是全OJ最优解,跑到了79ms。update2023.07.29完工,期望无bug(暑假快乐吖o( ̄▽ ̄)ブ)update2023.07.27(要原题检测了,先占个坑,有时间再补)原题大意P3095[USACO13DEC]TheBessieShuffleS有\(n\)张牌,每次取出\(m\;(m<n)\)张牌进行置换操作。操......
  • 特征选择 - Fisher Score
    特征选择的目的在理想情况下,特征选择想要达到以下效果:简化模型以提高可解释性:通过减少特征的数量,模型变得更简单,更容易理解。这对于那些需要理解模型如何做出预测的领域(如医疗或信贷评分)非常重要。改进模型性能:通过消除无关或冗余的特征,模型的预测性能可能会得到提高。这是......
  • 随机洗牌
    privatestaticvoidsum(int[]nums){Randomrnd=newRandom();for(inti=nums.Length-1;i>=0;i--){inta=rnd.Next(i+1);//Console.WriteLine(a);i......
  • 四格表fisher检验
    一、案例介绍某医生用新旧两种药物治疗某病患者27人,治疗结果见下表,现在想知道两种两种药物的治疗效果有无差别?二、问题分析本案例的分析目的是探究两种治疗效果有无差异,总样本量为27<40,所以考虑使用四格表Fisher确切检验法进行分析,但是需要满足2个条件:条件1:分组变量和观察变......
  • 【LeetCode.384打乱数组】Knuth洗牌算法详解
    前两天看网易面筋得知网易云的随机歌曲播放使用了这个算法,遂找题来做做学习一下打乱数组https://leetcode.cn/problems/shuffle-an-array/给你一个整数数组nums,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是等可能的。实现Solutionclass:Solution......
  • 推导&实现:感知器准则&MSE算法&Fisher准则
    推导&实现:感知器准则&MSE算法&Fisher准则1感知器准则1.1推导​ 第二个类别的样本特征向量\(\times-1\),再给所有样本增加一维表示label,第一类label等于\(1\),第二类label等于\(-1\)​ 感知器算法采用最直观的准则,即最小错分样本数,(MSE的区别在于迭代更新\(a\)......
  • 384. 打乱数组 (数组洗牌)
    labuladong题解难度中等338给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。实现 Solution class:Solution(int[]nums) 使用整数数组 nums 初始化对象int[]reset() 重设数组到它的初始状态并返回in......