思路集

作者: 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人。

相关文章

  • 思路集

    从n个数里面找最大的两个数理论最少需要比较n+ logn -2思路:类似比赛晋级,两两配对比较,赢的再两两配对,最...

  • 思路集

    二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一...

  • 128. 最长连续序列【并查集】

    题目 思路 并查集 代码 结果

  • GAN数据集思路

    要求

  • 思路 - 收藏集 - 掘金

    再续 RxBus--RxJava 实现事件总线 - Android - 掘金大家好,我叫石头 前言 事件总线出现的...

  • POJ1308(Is It A Tree?)

    链接:https://vjudge.net/problem/POJ-1308思路:放在并查集专题的,思路是每次合并...

  • 2019-03-01

    1. 求两个list的差集、并集、交集: 思路:将列表转化为集合 intersection = list...

  • 通过分析鸢尾花数据学习K-近邻算法

    一、算法整体思路 按照比例切分测试集和训练集 选取特征值,对训练集建模 对于任一测试数据样本,通过计算该样本到每个...

  • POJ1984(Navigation Nightmare)

    链接:https://vjudge.net/problem/POJ-1984思路:感觉kuangbin系列的并查集...

  • 线性模型——多元线性回归算法推导

    目录· 一、多元线性回归推导 二、总结 多元线性回归推导 整体思路: 步骤: 1、将w和b组合成: 凸集定义:设集...

网友评论

      本文标题:思路集

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