前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >核酸“混检”流程能优化吗?

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

作者头像
程序猿石头
发布2021-09-24 15:47:49
7480
发布2021-09-24 15:47:49
举报
文章被收录于专栏:程序猿石头程序猿石头

背景

大家好,我是石头哥。

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

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

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

然后等结果,完事儿……

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

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

全员核酸

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

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

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

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

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

例如“十合一混检”:

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

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

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

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

有更好的方法吗?

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

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

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

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

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

老鼠试毒

这道题目是这样的:

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

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

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

代码语言:javascript
复制
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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 全员核酸
  • 有更好的方法吗?
  • 老鼠试毒
  • 充分必要性证明
  • 核算检测场景适用吗?
  • 后记
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档