当前位置: 首页 > news >正文

C-小H学生物

题意:一棵树节点编号为1具有n种不同物种的演化树上。物种i将遗传信息向下传递到物种j会产生dij的遍历。dij是一个长为l的01串。变异程度duv为u到v简单路径上的所有编译信息的异或和。基因多样性定义为

分析:计算Di的遗传信息,用dfs将遗传信息传给儿子们,根据公式可得当m为奇数,除了第一个数和最后一个数是奇数,其它都是偶数,偶数异或为0;当m为偶数时,除了第一个数和最后一个数是偶数,其它都是奇数。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
bitset<100>d[N];
vector<int>edg[N]; 
void dfs(int u){for(int i=0;i<edg[u].size();i++){//儿子 int v=edg[u][i];d[v]^=d[u];dfs(v);}
}
void sol(){ll n,m,l;cin>>n>>m>>l;int u,v;for(int i=1;i<n;i++){cin>>u>>v>>d[v];edg[u].push_back(v);}dfs(1);vector<int>a(m);for(int i=0;i<m;i++)cin>>a[i];bitset<100>ans=0;if(m&1) {ans=d[a[0]]^d[a[m-1]];}else{for(int i=1;i<m-1;i++){ans^=d[a[i]];}}cout<<ans.to_string().substr(100-l,l)<<endl;
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int t=1;while(t--)sol();return 0;
}
http://www.lryc.cn/news/476565.html

相关文章:

  • 什么是软件设计模式, 它们⽤于解决什么问题, 它们为什么有效
  • LeetCode 3165.不包含相邻元素的子序列的最大和:单点修改的线段树(动态规划)
  • ios 快捷指令扩展(Intents Extension)简单使用 swift语言
  • 虚拟化环境中的精简版 Android 操作系统 Microdroid
  • NFTScan Site:以蓝标认证与高级项目管理功能赋能 NFT 项目
  • Vue:模板 MVVM
  • Kafka 消息丢失如何处理?
  • Mysql报错注入之floor报错详解
  • EPS原理笔记
  • LeetCode 876. 链表的中间结点
  • 划界与分类的艺术:支持向量机(SVM)的深度解析
  • 题目:100条经典C语言笔试题目(1-5)
  • python代码编写规范及注意事项
  • 【Linux】命令行参数 | 环境变量
  • python 使用进程池并发执行 SQL 语句
  • 我也谈AI
  • 算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
  • 编写第一个 Appium 测试脚本:从安装到运行!
  • mysql查表相关练习
  • airtest+poco多脚本、多设备批处理运行测试用例自动生成测试报告
  • Prometheus套装部署到K8S+Dashboard部署详解
  • python使用pymysql
  • Vue3 + TypeScript 组件和文件命名规范及 setup 导入顺序规范
  • netty之处理连接源码分析
  • Dockerfile文件编写
  • Oracle SQL 使用 ROWNUM 分页查询速度太慢的问题及解决方案!
  • Django3 + Vue.js 前后端分离书籍添加项目Web开发实战
  • 楼梯区域分割系统:Web效果惊艳
  • Day10加一
  • UTF-8简介