zoukankan      html  css  js  c++  java
  • 牛客1029A 袜子分配

    题面传送门

    没学过数论的蒟蒻第一次做出数学题, 这是一种乱搞的复杂做法


      先来看个简单的问题, 数字1-10取1个,问包含1的方案有多少种。显然,每一个数字取到的概率是同样的, 方案数为    , sum为总方案数。

    进一步,如果取两个数字,因为取了两个,所以概率*2, 即有  种方案,a每次取的个数。

    题解

      我们假设取袜子的方案总数为 sum,有n只袜子(不是双, 这里的n为题目中的2n)。

      一共有C(2, n)对袜子, 每种方案要取n/2双袜子,那么对于每一对袜子,出现的方案数为, 计算方法见前文。

      然后我们考虑, 对答案产生贡献的袜子有n/2对,这些对袜子每次出现都会使答案加一, 以此

      

      概率就等于 开心次数 / 总方案数, 及

      

      到这里就可以AC了,但我太菜了,还把并没有用的sum计算出来了

        

      这部分读者可自行思考,反正也没用

    总结

      第二天又用同样的办法做了另一道数学题, 感觉 排列组合+概率分析 是这一类题的通解, 于是写了这篇题解给自己以后复习,自己想出来的还是比题解好懂一点。

      

       

      

     

  • 相关阅读:
    拓扑排序,bitset~[JSOI2015]最小表示
    字符串算法~KMP
    校内团队训练赛2
    校内团队训练赛
    CodeForces
    莫队算法基础与练习
    lintcode-452-删除链表中的元素
    lintcode-451-两两交换链表中的节点
    lintcode-450-K组翻转链表
    lintcode-445-余弦相似度
  • 原文地址:https://www.cnblogs.com/ltdjcoder/p/13904193.html
Copyright © 2011-2022 走看看