Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >核酸“混检”流程能优化吗?

核酸“混检”流程能优化吗?

作者头像
程序猿石头
发布于 2021-09-24 07:47:49
发布于 2021-09-24 07:47:49
78800
代码可运行
举报
文章被收录于专栏:程序猿石头程序猿石头
运行总次数:0
代码可运行

背景

大家好,我是石头哥。

估计大家都有做过核酸检测吧?我也做过好多次。

我参加到的检测流程基本是这样:

医院挂号缴费,然后排队,领个管儿,再排队,然后到“全副武装”的护士那里,用棉签捅一捅喉咙,放到你领的管儿里面。

然后等结果,完事儿……

我都是做的咽拭子,一般还有一种鼻拭子,估计会难受一点儿?(你做过么?)

这种,基本上都是一个人采样(所谓的“单采单检”),用一份核酸检测的试剂进行检查。

全员核酸

不知道你有没有参与过大规模的核算检测。

大规模核算是这样的吗?比如全员核酸?

如果,都按照“单采单检”的标准进行,成本是一回事,耗时也不少啊。

要知道在疫情的关键时刻,早一点筛查出目标,就能尽早减少扩散,多一份安全。

因此,会采用 “多人混检”的方式。

例如“十合一混检”:

即:每组10人,采集10个标本,全混入一个容器,然后统一送检。

其中只要有一位中招了,那就10人全部召回复检。

复检再回到前文提到的“单采单检”模式进行,确定10人中的哪一个(或多个)中招。

这样做,速度大大提高了。

有更好的方法吗?

不过,能否有方法能省掉上文中的复检流程呢?

在初次检测中知道某组10人中,有一人中招了,不需要再通过复检,就能确定出到底是谁中招呢?

直接就想到了这样一道面试题。

类似的场景设计题目,我多年前面试某个大厂的时候,就遇到了!

印象笔记中躺着的多年前的面经

老鼠试毒

这道题目是这样的:

有8瓶药,其中只有一瓶是毒药,我们有三只老鼠,能被毒药很快毒死。请问如何设计,能尽快把毒药试出来?假设药水可以混合且不影响毒性。

这个题目比较好的解法是利用二进制思想。

如下所示,三只老鼠编号 A、B、C,0-7对应8瓶药编号:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ABC  //三只老鼠编号ABC
000=0
001=1     
010=2     
011=3     
100=4     
101=5     
110=6     
111=7

对应位为1,表示对应老鼠需要吃对应药水,按照如下的方案进行分配:

  • 将1、3、5、7号药水混合,喂给C号老鼠;
  • 将2、3、6、7号药水混合,喂给B号老鼠;
  • 将4、5、6、7号药水混合,喂给A号老鼠;

老鼠喝完后,该挂的也就挂了。ABC对应挂了的标记为1,活着的标记为0,得到一个数字。

假设结果为:A、B 挂了,C 活着,即为110=6,就得到6号药水有毒。

充分必要性证明

110=6 不假,但 A、B 挂了,C 活着,就能得到6号药水有毒??

确实是的!

回到前面的混合方案:

  • 将1、3、5、7号药水混合,喂给C号老鼠;
  • 将2、3、6、7号药水混合,喂给B号老鼠;
  • 将4、5、6、7号药水混合,喂给A号老鼠;

6号有毒,确实能正向推导结果:C活着,A、B 挂了。

反过来呢?

C活着,必然1、3、5、7号药水无毒。即相当于:

  • 将2、6号药水混合,喂给B号老鼠,挂了!
  • 将4、6号药水混合,喂给A号老鼠,挂了!

又因为只有 1 瓶有毒:

  • 假设2号有毒的话,那4、6无毒,A 死不了。
  • 同理假设4号有毒的话,那2、6无毒,B 就死不了。

所以只能是6号有毒。

核算检测场景适用吗?

这个“老鼠试毒”的场景能直接“照搬”到核算检测吗?

假设不考虑核酸检测实操过程中的困难,比如每人采样后,可以直接将标本进行拆分(不考虑采样标本被稀释,从而影响结果等等),标号分组等工序。

是否能设计一种类似的方案,排列组合一下,拆分,尽量用较少的核酸检测试剂,较少的次数,来确定到底谁中招?

我脑袋不够用了,评论区等你来回答~

后记

推荐一份清华经典数据结构课件及教材,点这里领取 —— 曝光了,清华计算机系最牛的课!

有收获请记得下方点赞、在看、分享

你好,我是石头哥,来自十八县贫困农村,一路逆袭上清华(点击蓝字查看我的逆袭之路),目前在BAT某厂打工,是前大疆(无人机)技术主管,曾经也在创业公司待过,有着丰富的经验。

公众号【程序猿石头】(ID:tangleithu)会分享一些自己对技术、职场等经验和见解,欢迎关注。同时欢迎你加入互联网大厂内推群 & 技术交流群,一起学习、共同进步。关注后回复 “0” 送大厂技术大礼包。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿石头 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用 Python 解决“老鼠喝药水”问题
我在互联网上高强度冲浪的时候,偶然发现了这个问题,终于在经过 OI 大神指点下,在CSDN帮助下,想到了解决方法。
Magneto
2022/09/19
4560
利用 Python 解决“老鼠喝药水”问题
老鼠与毒药
有1000瓶药水,其中一瓶是有毒的,老鼠喝掉药水后,毒性会在24小时后发作。那最少需要多少只老鼠,能够在24小时后找出哪一瓶有毒呢?
小K算法
2021/05/31
8790
一道刚遇到的面试题,面试官说答不出正常
大家周末愉快,今天分享一道很有意思的面试题目。 面试官问这道题之前还说:不用紧张,基本上没啥人可以答出来,你就发散着想想就行。 好了,废话不多说了,我们直接上题。 题目 现在有 10 只小白鼠和 1000 支药水,1000 支药水中有且仅有一支药水有毒,如果小白鼠喝下毒药,那么毒发的时间是两小时。 现在只给你两小时的时间,请问如何用这 10 只小白鼠测出哪支药水有毒?(忽略小白鼠喝药的时间)。 思考 当时听完这题,我第一反应是:这题是不是在逗我? 就 10 只小白鼠,喝 1000 支药水,那么一只小白鼠肯定
程序员鱼皮
2023/03/29
3450
一道刚遇到的面试题,面试官说答不出正常
从一道互联网面试题谈到 Leetcode 458(可怜的小猪)
最近我的一个朋友在面试某国内非常重视算法的公司时遇到了一道有趣的智力题,我在刷leetcode时也遇到相似的题目,总结一下分享给大家。
帅地
2019/12/05
1.2K0
从一道互联网面试题谈到 Leetcode 458(可怜的小猪)
⭐️ 面试智力题 ⭐️小鼠测毒(有 1000 瓶药物,但是其中有一瓶是有毒的,老鼠只要服用任意量有毒药水就会在一个星期内死掉!请问,在一个星期后找出有毒的药物,最少需要多少只小白鼠?)
有 1000 瓶药物,但是其中有一瓶是有毒的,老鼠只要服用任意量有毒药水就会在一个星期内死掉!请问,在一个星期后找出有毒的药物,最少需要多少只小白鼠?
用户9645905
2022/11/30
4920
面试题十五期-一个腾讯的面试题~biu
1、1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒(小狗服完药20小时后才能判断是否中毒)。
测试小兵
2019/11/21
5970
面试题十五期-一个腾讯的面试题~biu
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
链接:https://www.nowcoder.com/acm/contest/90/L 来源:牛客网
Enterprise_
2019/02/21
3830
建议收藏chatGPT说的Python词云教程
这个是当下最流行最时髦的AI神器chatGPT和我一起合作写的一篇通用技术文章,请读者笑纳!
江涛学编程
2023/03/20
7060
LeetCode 6096. 咒语和药水的成功对数(二分查找)
给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。
Michael阿明
2022/06/13
3250
C语言魔塔游戏[通俗易懂]
直接下载https://download.csdn.net/download/qq_41505957/12154086
全栈程序员站长
2022/08/31
4.3K0
94岁的米老鼠快要离家出走了吗?
大数据文摘授权转载自澎湃美数课 编辑:实习生陈芙蓉 设计:卫瑶 2022 年 11 月 18 日,卡通届的超级明星米老鼠将迎来它的 94 岁生日。 米老鼠,是迪士尼成为娱乐产业巨头的起点。迪士尼创始人华特·迪士尼曾说过:“我只希望人们不要忘记一件事,那就是一切都开始于一只老鼠”。 不过,这只老鼠可能要跑出迪士尼的保护圈了——初代米老鼠的 95 年版权保护期或将在 2024 年结束。届时,诞生于 1928 年的初代米老鼠形象可能会进入公共领域,成为公众自由创作的素材。 而对于此次的到期,“版权斗士”迪士尼早
大数据文摘
2023/04/10
2900
94岁的米老鼠快要离家出走了吗?
【DeepMind】首发并开源Alchemy,一种元强化学习(meta-RL)基准环境。
元学习作为一种增加强化学习的灵活性和样本效率的方法,科研学者对此的关注兴趣迅速增长。然而,该研究领域中的一个问题是缺乏足够的基准测试任务。通常,过去基准的基础结构要么太简单以至于无法引起兴趣,要么就太不明确了以至于无法进行有原则的分析。在当前的工作中,DeepMind科学家介绍了用于元RL研究的新基准:Alchemy,该基准是将结构丰富性与结构透明性相结合。它是在Unity中实现的3D视频游戏,涉及潜在的因果结构,该过程都经过程序重新采样,从而提供了结构学习,在线推理,假设测试以及基于抽象领域知识的动作排序。并在Alchemy上评估了一对功能强大的RL方法,并对这些方法进行了深入分析。结果清楚地表明,Alchemy作为元RL的挑战性基准提供了验证。
深度强化学习实验室
2021/02/26
7580
【DeepMind】首发并开源Alchemy,一种元强化学习(meta-RL)基准环境。
应届被毁,接到电话直接情绪失控了。。
给你两个正整数数组 spells 和 potions,长度分别为 n 和 m,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。
宫水三叶的刷题日记
2024/05/03
1110
应届被毁,接到电话直接情绪失控了。。
程序员必备智力题集锦 (典藏版)
大家好,我是 梦想家 Alex 。在我技术群的小伙伴们都知道,我从今年 3月8日 开始,在技术群里发起了一个计划 。为了跟其他技术群有所区别,并且能调动得起大家的学习热情,我成立了一个出题组。每天早上,我会让管理员在技术群里的公告栏放上3道题目,分别是1道基础题,1道思考题和1道智力题,所有的答案均为群友讨论得出。后面为了让题目更加丰富,我们还添加过算法题,SQL题 。 一直积累到 8月份,这个日更计划暂时停止,但是我们的题库已经积攒了不少的题目。一开始我的想法是这个在线的知识库只对我们技术群的朋友开放,但是后面想到可以 精选出好的问题开放给更多的朋友,一起参与学习和思考 ,于是我便想到了用文章来记录的方式来打破壁垒。所以,我开设了“每日主题讨论”专栏,想用有限的文章,为大家带去更多的思考。本期文章,我为大家带来的是一点轻松愉快的内容,那便是 常见的智力题集锦
大数据梦想家
2021/10/22
1.9K0
菜鸟的每日力扣系列——913. 猫和老鼠
首先猫和老鼠的游戏是在一张无向图上进行的,题目中说图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。我们就从输入的graph列表入手,来看下这个列表是如何表示示例1中的无向图的。
才浅Coding攻略
2022/12/12
2590
菜鸟的每日力扣系列——913. 猫和老鼠
golang刷leetcode:猫和老鼠
图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。
golangLeetcode
2022/08/02
2720
给你的博客加上个Live2D看板娘吧
本文章中所用模型解包自药水制作师手机游戏,版权归该官方所有。(没错,我也是来安利这款游戏的)
阿珏
2018/08/08
1.8K0
给你的博客加上个Live2D看板娘吧
DALL·E 3瞬间生成素材,零成本制作数千万流水游戏!OpenAI总裁转赞
OpenAI总裁Brockman最近转发了一条推特火了,全网超过84万的阅读量!
新智元
2023/10/20
3710
DALL·E 3瞬间生成素材,零成本制作数千万流水游戏!OpenAI总裁转赞
让老鼠迷上玩《毁灭战士2》?这个匈牙利神经科学家做到了
当时,匈牙利神经科学家Viktor Tóth正在玩第一人称射击电脑游戏《毁灭战士II》,当他听到这个消息时,他想到的是可不可以让这些动物也来玩一玩这个游戏?
大数据文摘
2022/02/25
4440
让老鼠迷上玩《毁灭战士2》?这个匈牙利神经科学家做到了
[Minecraft Plugin] NoDamage の 一个很多功能的大厅系统
这个插件适合用在大厅(你说你要用到其他服务器也行,我这里就不说明如何在其他非大厅配置方法) 敬告:如果遇到不同服务端而插件冲突问题,请先自行检查。 如有不可避免问题再执行反馈 (本插件适用于大厅,其他服务器容易出现冲突,故请自行检查后再提交)
筱锋xiao_lfeng
2022/03/16
7010
推荐阅读
相关推荐
利用 Python 解决“老鼠喝药水”问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验