【题目描述】:21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的进入了我们的视野。如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能。因此生物进化与基因的变异息息相关,考察基因变异的途径对研究生物学有着至关重要的作用。现在,让我们来看这样一个模型:1、所有的基因都可以看作一个整数或该整数对应的二进制码;2、在 1 单位时间内,基因 x 可能会在其某一个二进制位上发生反转;3、在 1 单位时间内,基因 x 可能会遭到可感染基因库内任一基因y的影响而突变为 x XOR y。现在给出可感染基因库,Q 组询问,每组给出初始基因与终止基因,请你分别计算出每种变异最少要花费多少个单位时间。
【输入描述】:第 1 行两个整数 N, Q;第 2 行 N 个用空格隔开的整数分别表示可感染基因库内的基因;接下来 Q 行每行两个整数 S、T,分别表示初始基因与终止基因。
【输出描述】:输出 Q 行,依次表示每组初始基因到终止基因间最少所花时间。
【样例输入】:3 3
1 2 3
3 4
1 2
3 9【样例输出】:2
1
2【时间限制、数据范围及描述】:时间:1s 空间:256M对于 20%的数据,N=0;额外 40%的数据,1≤Q≤100,所有基因表示为不超过 10^4 的非负整数;对于 100%的数据,0≤N≤20,1≤Q≤10^5,所有基因表示为不超过 10^6 的非负整数。本题可以bfs求出0~所有状态的解,因为所有状态的总个数为2^20,然后输出a^b所对应的解即可.
(这里注意:异或的顺序改变并不会改变最终答案)Code:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<ctime>
#include<queue>
using namespace std;
const int N=45,M=1<<20;
int n,q,s,t,a[N],ans[M];
void bfs(){queue<int> Q;memset(ans,-1,sizeof(ans));Q.push(0);ans[0]=0;while(!Q.empty()){int now=Q.front();Q.pop();for(int i=1;i<=n+20;i++){int to=now^a[i];if(ans[to]!=-1){continue;}ans[to]=ans[now]+1;Q.push(to);}}
}
int main(){int s,t;scanf("%d%d",&n,&q);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}a[n+1]=1;for(int i=n+2;i<=n+20;i++){a[i]=2*a[i-1];}bfs();for(int i=1;i<=q;i++){scanf("%d%d",&s,&t);printf("%d\n",ans[s^t]);}return 0;
}

转载于:https://www.cnblogs.com/ukcxrtjr/p/11521791.html

UOJ #577. 基因变异相关推荐

  1. JZOJ 100047. 【NOIP2017提高A组模拟7.14】基因变异

    Description 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化与基因的 ...

  2. JZOJ100047.基因变异 (Standard IO)

    \[Description\] 21 世纪是生物学的世纪,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野. 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能. 因此生物进化 ...

  3. signature=d363d26bda212f777fef81d270ecd42b,基于DNA-pooling全基因组重测序初步筛查CAD易感基因变异位点...

    摘要: 目的:应用DNApooling全基因组重测序技术初步筛查CAD易感基因变异位点并进行功能分析.方法:分别收集CAD病例组血液样本和正常对照组血液样本各100例.提取病例组和对照组DNA,制作D ...

  4. VarCards网址变更: 人类重大疾病基因变异解读数据库及分析平台

    ⌈ 医见生信 ⌋ 是中南大学"医学生物信息学课题组"运营的公众号,本研究团队立足于帕金森病和孤独症为代表的神经精神类疾病,利用计算生物学.生物信息学和医学遗传学的方法探究疾病发生发 ...

  5. 强迫症相关人类基因变异找到

    2019独角兽企业重金招聘Python工程师标准>>> 英国<自然·通讯>杂志近日在线发表的一篇遗传学论文报告称,科学家成功鉴别出与强迫症(OCD)相关的人类基因变异,找 ...

  6. mLife | 刘星吟等肠道菌群、基因变异和饮食互作介导孤独症的发生

    南京医科大学基础医学院刘星吟教授的观点文章"The interaction of gut microbiota, genetic variation and diet in Autism S ...

  7. 谷歌推出开源工具DeepVariant,用深度学习识别基因变异

    Root 李林 编译整理 量子位 出品 | 公众号 QbitAI Google今天推出了一个名叫DeepVariant的开源工具,用深度神经网络来从DNA测序数据中快速精确识别碱基变异位点. 学科研究 ...

  8. Nature Genetics | NLRC4基因变异导致自身炎症并发巨噬细胞活化综合征

    炎症的特征 炎症小体(Inflammasomes)是一种由多种蛋白质组成的复合物,其主要作用是识别并响应细胞内或外部的危险信号,如感染.损伤.细胞死亡等.在炎症体的作用下,细胞会产生一系列强效促炎细胞 ...

  9. [网络报道] 机构选股逻辑基因变异 量化投资互联网掘金大数据

    21世纪资管 宁夏 深圳报道 利用互联网金融大数据构建选股模型,正成为A股市场的一股新潮流. 10月20日,广发基金与百度公司合作开发的广发中证百度百发策略100指数基金将启动发行,这是业内首只跟踪具 ...

最新文章

  1. 详解目标检测之Neck选择
  2. HDU 6096 String (AC自动机)
  3. Eclipse配置Tomcat和JDK方法
  4. SVN中 “containing working copy admin area is missin
  5. 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)-(奇偶校验码、CRC循环冗余码、海明码)
  6. 线性代数之矩阵偏导续
  7. oracle+connect+by+level,oracle connect by用法篇
  8. python中os.path和pathlib
  9. 如何给UI上可以接收focus事件的element动态注册onfocus处理函数
  10. Linux基础(存储结构和磁盘划分)
  11. SpringBoot整合Redis缓存中间件
  12. matlab2c使用c++实现matlab函数系列教程- polyint函数
  13. 使用Ubuntu的Crontab定时任务需要注意的地方
  14. 数据结构课程设计(基于AVL树的身份证管理系统)
  15. Palo Alto Networks 升级Traps高级终端防护产品 提升终端安全防护水平
  16. 生物信息常用网站(数据库)
  17. 0门槛项目,闲鱼卖特价电影票,免费低价票源
  18. Linux隧道isatap(sit模式)
  19. PCA(主成分分析)数学原理推导证明
  20. Verilog实现之任意分频电路

热门文章

  1. ASP.NET三层架构之不确定查询参数个数的查询
  2. cocos2d-x 消类游戏,类似Diamond dash 设计
  3. 再见,齐达内,再见,法国队
  4. k8s与CICD--将drone部署到kubernetes中,实现agent动态收缩
  5. Facebook、LinkedIn、Airbnb、Google专家聚首QCon,他们会带来什么?
  6. (LeetCode 141/142)Linked List Cycle
  7. Exchange2007 申请安装证书
  8. oracle USER 与 Schema 的关系与区别
  9. org.apache.subversion.javahl.ClientException: Previous operation has not finished
  10. android String的replace和replaceAll的使用