思路集

作者: EJ17zj | 来源:发表于2017-08-04 11:13 被阅读17次

    从n个数里面找最大的两个数理论最少需要比较
    n+ logn -2

    思路:
    类似比赛晋级,两两配对比较,赢的再两两配对,最后得到冠军(最大的数),可以看成是一棵二叉树,以4人为例:

    0
    0 2
    0 1 2 3

    可以看出,找出最大的数比较次数是n-1。然后第二大的数肯定是跟冠军比较过的数字,那么很明显每一层都有一个,所以有logn-1次比较。
    所以总共是n+logn-2次比较

    3*4的格子区中共有多少个矩形

    思路:
    每两条横线与两条竖线之间可以组成一个矩形,共4条横线、5条竖线,所以C(4,2)*C(5,2)=60。

    推理:24个人,每人至少养一种宠物,养鸟、狗、鱼、猫的分别为13、5、10、9人,同时养鸟和狗的2人,同时养鸟和鱼、鸟和猫、鱼和猫的各为4人,养狗的既不养猫也不养鱼。问只养一种宠物的总共几人?同时养鸟鱼猫的几人?

    思路:
    容斥原理:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。
    两个集合的容斥关系公式:A∪B =|A∪B| = |A|+|B| - |A∩B |
    三个集合的容斥关系公式:|A∪B∪C| = |A|+|B|+|C| - |A∩B| - |B∩C| - |C∩A| + |A∩B∩C|
    当有多个集合时,依次+、-即可,详情可查看链接中的公式。
    对于此题,套用4集合的公式可得:

    总人数(24人)=至少养1种(鸟13+狗5+鱼10+猫9=37)-至少养2种(鸟狗2+鸟鱼4+鸟猫4+鱼猫4=14)+至少养3种(鸟鱼猫,设为x)-至少养4种(为空)
    

    易求得x=1,即同时养鸟鱼猫的人数为1;
    进一步可得:

    只养2种(鸟狗+鸟鱼+鸟猫+鱼猫)=(2)+(4-1)+(4-1)+(4-1)=11
    只养1种(鸟+狗+鱼+猫)=总人数(24)-只养2种(11)-只养3种(1)-只养4种(0)=12
    

    因此只养一种宠物的总共为12人。

    相关文章

      网友评论

          本文标题:思路集

          本文链接:https://www.haomeiwen.com/subject/evdvlxtx.html