题意:给定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相关推荐

  1. 二代测序linux软件,二代测序数据分析软件包大全

    二代测序数据分析软件包大全 Integrated solutions*CLCbio Genomics Workbench-de novoand reference assembly of Sanger ...

  2. struts2+spring3+hibernate4

    //web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=" ...

  3. 【题解】【数组】【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- ...

  4. MPB:广东生态土壤所孙蔚旻组-DNA稳定同位素示踪与宏基因组单菌草图组装联用技术...

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  5. DNA 4. SCI 文章中基因组的突变信号(maftools)

    点击关注,桓峰基因 桓峰基因 生物信息分析,SCI文章撰写及生物信息基础知识学习:R语言学习,perl基础编程,linux系统命令,Python遇见更好的你 87篇原创内容 公众号 突变信号(Muta ...

  6. 【生物信息】ecDNA染色体外环状DNA的识别——AmpliconArchitect算法

    ecDNA染色体外环状DNA的识别 写在前面 实验环境 原理简介 算法流程 实现细节 区间搜索 区间重排,分区和可视化 断点图的构造 环分解 实验步骤 数据的获取 质控分析 conda的安装 AA算法 ...

  7. usaco ★Longest Prefix 最长前缀

    ★Longest Prefix 最长前缀 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的.生物学家对于把长的序列 28 分解成较短的(称之为元素的)序列很感兴趣. 如果一个集合 P 中 ...

  8. 区块链技术如何改变我们对DNA的看法

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 试想一下,有人得到了你的一些最私人的信息,并用它来攻击你,窃取你的身份,实施诈骗.这对于你来说特别有压力,对吧?那么,倘 ...

  9. 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 ...

  10. 斯坦福AI 5小时DNA测序破世界纪录!创人类新里程碑,成本仅3万

      视学算法报道   编辑:桃子 袁榭 拉燕 [新智元导读]近日,斯坦福大学研究团队把人类DNA测序的时间缩短至5小时2分钟,重新定义了人类基因组测序速度! DNA测序时间减半,还创下了最新吉尼斯世界 ...

最新文章

  1. 【最大团】【HDU1530】【Maximum Clique】
  2. mysql 6.5安装_RedHat6.5安装MySQL5.7教程详解
  3. linux实现免密登陆
  4. 苹果屏蔽更新_iOS 屏蔽更新的最新方法,完美支持 iOS13 系统
  5. Oracle移除表空间的数据文件 ora-00604 ora-01426
  6. Leetcode每日一题:100.same-tree(相同的树)
  7. 怎么只要小数部分C语言,如何得出一个浮点数的小数部分,要把各个位保存到一个数组里边。...
  8. web 前端必备学习指南-精华
  9. 数据库性能优化之SQL语句优化(下)
  10. [Java IO]04_系统标准IO
  11. 华为电脑如何投屏到电视linux,华为无线投屏怎么用
  12. CSR8670蓝牙模块,支持AVRCP音频协议
  13. SystemV 共享内存
  14. 卡巴斯基正式版 送一年
  15. 阿里云上做二级、三级等保的基础概念、方案以及价格
  16. 小企业会计准则 ——主要账务处理和财务报表(1)
  17. 交通生成器Road Architect推荐
  18. 文件上传漏洞(客户端绕过,MIMEtipe绕过,getimagesize绕过)
  19. Linux硬盘分区方案与分区格式介绍
  20. 模仿百思不得姐项目开发总结

热门文章

  1. SparkStreaming性能调优
  2. android沉浸式状态理解
  3. 【YOLOV5-5.x 源码解读】plots.py
  4. gmx-MMPBSA — error while loading shared libraries: libgfortran.so.3: cannot open shared object file
  5. 企业宣传软文怎么写?手把手教大家撰写企业宣传软文
  6. 基于can总线的A2L文件解析(2)
  7. c/s模型和b/s模型
  8. 极验验证——滑块拼图验证码
  9. 互联网+智慧公安大数据一体化解决方案
  10. HTB[Tier 0]Appointment题解