hdu3460(Trie树)
来源:互联网 发布:windows安装python2.7 编辑:程序博客网 时间:2024/05/21 15:00
链接:点击打开链接
题意:给n个字符串,有三种操作,写一个字符,删除一个字符,打印一个字符,问最少多少次操作能够输出n个字符串
代码:
#include <queue>#include <vector>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;char str[55];int rt,s[500005][30];void in(char a[]){ int i,u; u=0; for(i=0;a[i];i++){ if(!s[u][a[i]-'a']) s[u][a[i]-'a']=rt++; u=s[u][a[i]-'a']; }}int main(){ //算每个字符的贡献值,每个字符都会贡献两次,一次删除 int n,i,len; //,一次添加。但是最后一格输出的单词只贡献一次,因此 while((scanf("%d",&n))!=EOF){ //把n个字符串插入trie树中,节点个数就是字符个数,最 rt=1,len=0; //长串的单词中的字符就贡献一次,再加上打印的次数 memset(s,0,sizeof(s)); //所以最后答案就是:节点个数*2+最长串长度+N for(i=1;i<=n;i++){ scanf("%s",str); len=max(len,(int)strlen(str)); in(str); } printf("%d\n",(rt-1)*2-len+n); } return 0;}
阅读全文
0 0
- hdu3460(Trie树)
- Trie树 hdu3460 Ancient Printer
- hdu3460(字典树)
- hdu3460
- hdu3460
- hdu3460 字典树(打印机)
- hdu3460 Ancient Printer(字典树)
- 【字母树+贪心】【HDU3460】【Ancient Printer】
- hihoCoder1014 Trie树 [Trie]
- hdu3460 Ancient Printer
- HDU3460-Ancient Printer
- TRIE树
- TRIE树
- TRIE树
- trie 树
- Trie树
- Trie树
- Trie树
- Python 爬取百度网盘所有热门分享文件
- Leetcode052--二叉树路径最大和
- 【学习笔记】python条件语句
- 数值处理函数
- android Spinner控件详解
- hdu3460(Trie树)
- 《四》引入静态文件并输出视图文件
- A+B Problem (Case Count)
- 对于JavaScript中原型链的理解
- LeetCode 35. Search Insert Position
- 利用 Python 进行数据分析(十二)pandas:数据合并
- Python(6) class里的下划线变量和函数们 __init__
- 四、JNDI
- 【mycat】mycat在windows环境下的安装和启动