lightoj1224 DNA Prefix
题意:给定n个字符串,求拥有前缀a[0…l]的字符串个数x乘上这个字符串长度,求这个最大值。
思路:建立棵字典树,每个节点纪录上经过这个节点的字符串个数,然后dfs求解。
struct node {int cnt;node* nxt[4];node() {for (int i = 0;i < 4;++i)nxt[i] = NULL;cnt = 0;}
}*root;
char s[60];
int id(char c) {if (c == 'A') return 0;if (c == 'C') return 1;if (c == 'G') return 2;return 3;
}
void insert(char* str) {int len = strlen(str);node* p = root;for (int i = 0;i < len;++i) {int idx = id(str[i]);if (p->nxt[idx] == NULL) p->nxt[idx] = new node();p = p->nxt[idx];p->cnt++;}
}
void del(node* p) {if (p == NULL) return ;for (int i = 0;i < 4;++i)del(p->nxt[i]);delete p;
}
int maxNum;
void dfs(node* p, int depth) {for (int i = 0;i < 4;++i) {if (p->nxt[i] != NULL) {dfs(p->nxt[i], depth + 1);}}if (p->cnt * depth > maxNum) {maxNum = p->cnt * depth;}
}
int main(int argc, const char * argv[])
{ // freopen("in.txt","r",stdin);// freopen("out.txt","w",stdout);int n, t;cin >> t;while(t--) {cin >> n;root = new node();for (int i = 0;i < n;++i) {scanf("%s", s);insert(s);}maxNum = 0;dfs(root, 0);printf("Case %d: %d\n", ++nCase, maxNum);del(root);}return 0;
}
lightoj1224 DNA Prefix相关推荐
- 二代测序linux软件,二代测序数据分析软件包大全
二代测序数据分析软件包大全 Integrated solutions*CLCbio Genomics Workbench-de novoand reference assembly of Sanger ...
- struts2+spring3+hibernate4
//web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=" ...
- 【题解】【数组】【Prefix Sums】【Codility】Genomic Range Query
A non-empty zero-indexed string S is given. String S consists of N characters from the set of upper- ...
- MPB:广东生态土壤所孙蔚旻组-DNA稳定同位素示踪与宏基因组单菌草图组装联用技术...
为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...
- DNA 4. SCI 文章中基因组的突变信号(maftools)
点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 87篇原创内容 公众号 突变信号(Muta ...
- 【生物信息】ecDNA染色体外环状DNA的识别——AmpliconArchitect算法
ecDNA染色体外环状DNA的识别 写在前面 实验环境 原理简介 算法流程 实现细节 区间搜索 区间重排,分区和可视化 断点图的构造 环分解 实验步骤 数据的获取 质控分析 conda的安装 AA算法 ...
- usaco ★Longest Prefix 最长前缀
★Longest Prefix 最长前缀 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的.生物学家对于把长的序列 28 分解成较短的(称之为元素的)序列很感兴趣. 如果一个集合 P 中 ...
- 区块链技术如何改变我们对DNA的看法
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 试想一下,有人得到了你的一些最私人的信息,并用它来攻击你,窃取你的身份,实施诈骗.这对于你来说特别有压力,对吧?那么,倘 ...
- Using unique option prefix myisam-recover instead of myisam-recover-option
[转载]关于mysql error.log报"Using unique option prefix myisam-recover instead of myisam-recover-opti ...
- 斯坦福AI 5小时DNA测序破世界纪录!创人类新里程碑,成本仅3万
视学算法报道 编辑:桃子 袁榭 拉燕 [新智元导读]近日,斯坦福大学研究团队把人类DNA测序的时间缩短至5小时2分钟,重新定义了人类基因组测序速度! DNA测序时间减半,还创下了最新吉尼斯世界 ...
最新文章
- 【最大团】【HDU1530】【Maximum Clique】
- mysql 6.5安装_RedHat6.5安装MySQL5.7教程详解
- linux实现免密登陆
- 苹果屏蔽更新_iOS 屏蔽更新的最新方法,完美支持 iOS13 系统
- Oracle移除表空间的数据文件 ora-00604 ora-01426
- Leetcode每日一题:100.same-tree(相同的树)
- 怎么只要小数部分C语言,如何得出一个浮点数的小数部分,要把各个位保存到一个数组里边。...
- web 前端必备学习指南-精华
- 数据库性能优化之SQL语句优化(下)
- [Java IO]04_系统标准IO
- 华为电脑如何投屏到电视linux,华为无线投屏怎么用
- CSR8670蓝牙模块,支持AVRCP音频协议
- SystemV 共享内存
- 卡巴斯基正式版 送一年
- 阿里云上做二级、三级等保的基础概念、方案以及价格
- 小企业会计准则 ——主要账务处理和财务报表(1)
- 交通生成器Road Architect推荐
- 文件上传漏洞(客户端绕过,MIMEtipe绕过,getimagesize绕过)
- Linux硬盘分区方案与分区格式介绍
- 模仿百思不得姐项目开发总结
热门文章
- SparkStreaming性能调优
- android沉浸式状态理解
- 【YOLOV5-5.x 源码解读】plots.py
- gmx-MMPBSA — error while loading shared libraries: libgfortran.so.3: cannot open shared object file
- 企业宣传软文怎么写?手把手教大家撰写企业宣传软文
- 基于can总线的A2L文件解析(2)
- c/s模型和b/s模型
- 极验验证——滑块拼图验证码
- 互联网+智慧公安大数据一体化解决方案
- HTB[Tier 0]Appointment题解