HDU1251 统计难题【字典树】
统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 52353 Accepted Submission(s): 18339
注意:本题只有一组测试数据,处理到文件结束.
问题链接:HDU1251 统计难题
问题描述:
输入若干小写字母组成的字符串集合,然后是一个空行;再输入若干字符串,计算这些字符串作为前缀出现的次数。
问题分析:
这个问题是字典树的裸题。
需要注意空间的大小!
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* HDU1251 统计难题 */#include <iostream>
#include <stdio.h>
#include <string.h>using namespace std;const int N = 100000;
const int LEN = 10;
const int SIZE = 26;
const char SCHAR = 'a';struct Trie {int acnt; // access countint childs[SIZE];void init(){acnt = 1;memset(childs, 0, sizeof(childs));}
} trie[N * LEN];
int ncnt; // Trie Node count
char s[LEN + 1]; // Inputvoid insert(char s[])
{int p = 0;for(int i = 0; s[i]; i++) {int k = s[i] - SCHAR;int child = trie[p].childs[k];if(child) {trie[child].acnt++;p = child;} else {trie[++ncnt].init();trie[p].childs[k] = ncnt;p = ncnt;}}
}int query(char s[])
{int p = 0;for (int i = 0; s[i]; i++) {int k = s[i] - SCHAR;int child = trie[p].childs[k];if (child == 0)return 0;elsep = child;}return trie[p].acnt;
}int main()
{while(gets(s)) {if(s[0] == NULL)break;insert(s);}while(gets(s))printf("%d\n", query(s));return 0;
}
HDU1251 统计难题【字典树】相关推荐
- HDU 1251 统计难题 字典树/STL
统计难题 Time Limit:2000MS Memory Limit:65535KB 64bit IO Format:%I64d & %I64u Description Ig ...
- hdu 1251 统计难题 (字典树入门题)
1 /******************************************************* 2 题目: 统计难题 (hdu 1251) 3 链接: http://acm.hd ...
- HDU - 1251 统计难题(字典树)
题目链接:点击查看 题目大意:给出一些单词,后续再给出一些前缀,询问包含此前缀的单词一共有多少个 题目分析:这个题目的数据可能有点水,而且时间给的也很足,给了两秒,而且加上是hdu的,可以用无序map ...
- HDU1251 统计难题 trie树 简单
http://acm.hdu.edu.cn/showproblem.php?pid=1251 题意: 找前缀数量 裸模板 1 #include<cstdio> 2 #include< ...
- hdu -1251 统计难题(字典树水题)
http://acm.hdu.edu.cn/showproblem.php?pid=1251 建树之后 查询即可. G++提交 ME不知道为什么,c++就对了. 1 #include <iost ...
- HDU1251 统计难题 【trie树】
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Subm ...
- hdu1251 hash或者字典树
题意: 统计难题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量 ...
- hdu1251(统计难题)
这题就是一个字典树的模板题 统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Othe ...
- 南阳oj 题目290 动物统计加强版 字典树
动物统计加强版 时间限制:3000 ms | 内存限制:150000 KB 难度:4 描述 在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单.科学家 ...
最新文章
- 零基础入门NLP - 新闻文本分类
- 什么东西都要用一句话总结出来:这是最重要的
- 心理医生给女人的忠告
- REVERSE-PRACTICE-BUUCTF-1
- Python 列表推导式 - Python零基础入门教程
- java删除某些段落word_Java 批量删除Word中的空白段落示例代码
- dede无法在这个位置找到head.html2,织梦搜索:DedeCMS 提示信息
- Windows:打开MSDTC,恢复Windows任务栏,查看windows日志,打开远程桌面,打开Services,资源监控...
- Reflect Refract (以水渲染为例)
- Spring任务调度实战之Quartz Simple Trigger
- 线性代数(第六版) 同济大学数学系 编 高等教育出版社 课后习题答案
- 10.1寸大屏安卓通用车载导航
- linux slab 内存 清理,linux系统slab内存占用
- Fabric实战(12)Fabric CA-账号服务器
- Linux原子操作与锁实现
- 汉诺塔问题模拟实现代码
- 蛋蛋弹车2-具有功能安全EPS系统设计(工具篇2)
- 查看文章 mysql:表注释和字段注释
- java试题库管理系统源代码_Java试题库管理源代码
- 知识点滴 - 无线电通信(P25)的物理信道和逻辑信道
热门文章
- CSDN2013年度博客之星评选
- php jquery 实例教程,php jquery 多文件上传简单实例
- 企业级及电子商务常见缩写
- pythonic风格_【Python】性能优化之Pythonic风格化代码
- android系统耗电如何关闭,安卓手机建议关闭这4大功能,耗电快的罪魁祸首?不用一天三充了...
- Ecology 建模表单 数据库字段与页面字段对应关系显示
- 完美解决github访问速度慢
- 学习Java 第 4天 流程控制语句 one大白(●—●)
- import关键字的使用
- android开发入门配置,Android开发入门——Andoird Studio的安装与配置