HDU1251 字典树的经典问题

HDU-1251 统计难题 HDU 1251 统计难题 Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀... 阅读详情

题目链接

 

AC代码:

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct Trie        //字典树结构体
{
    Trie * next[26];
    int num;
    Trie()
    {
        for (int i = 0; i < 26; i++)
        {
            next[i] = NULL;
        }
        num = 0;
    }
};


Trie root;    //根节点


void Insert(string s)        //将字符串插入到字典树里
{
    Trie *p = &root;
    for (int i = 0; i < s.size(); i++)
    {
        if (p->next[s[i] - 'a'] == NULL)    //没有就插入新的树
        {
            p->next[s[i] - 'a'] = new Trie;
        }

        p = p->next[s[i] - 'a'];       //有就到下一个结点
        p->num++;
    }
}
int Find(string s)    //找到该字符串
{
    Trie *p = &root;
    for (int i = 0; i < s.size(); i++)
    {
        if (p->next[s[i] - 'a'] == NULL)     
        {
            return 0;
        }
        p = p->next[s[i] - 'a'];
    }
    return p->num;
}
int main()
{
    string s;
    while (getline(cin, s))    
    {
        if (s.size() == 0)break;     //输入空行时
        Insert(s);
    }
    while (cin >> s)
    {
        cout << Find(s) << endl;    
    }
    
    system("pause");
    return 0;
}

HPM6E00:PWM V2使用指南 阅读详情

相关推荐

类银河恶魔城游戏开发学习笔记(0)

解决B站搬运【Unity教程】从0编程制作类银河恶魔城游戏P37中moveState和idleState循环切换的问题

Gellar的博客 1448

HDU1251 字典树模板题,数组版和指针版

题意: 中问题。 题解: 字典树的模板题,我是看这位大佬学习的字典树: https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html 这道题主要用来练练手,看看模板是否有问题,这道题我分别写了数组版的和指针版的,神奇的是指针版的在G++会超内存,而C++过了。。。不知道哪里有问题,求大佬讲解一下,不甚感激。数

Start_to_crazy的博客 435

制造业批次管理中双计量单位动态转换的实践指南

本文详细介绍了制造业批次管理中双计量单位动态转换的实践指南,特别是在SAP系统中的配置与操作步骤。通过实际案例展示了如何解决采购与生产部门计量单位不一致的问题,提升物料管理效率。重点讲解了批次特性配置、移动类型调整及常见问题排查方法,适用于金属加工、化工等多个行业。

weixin_29228203的博客 159

HDU1251 统计难题 字典树裸题

HDU1251 统计难题Time Limit:2000MS Memory Limit:65535KB 64bit IO Format:%I64d & %I64u SubmitStatusPracticeDescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己

围巾的ACM博客 606

保姆级教程:用OpenCV搞定鱼眼双目相机的标定与测距(附完整C++代码)

本文详细介绍了使用OpenCV进行鱼眼双目相机标定与测距的全流程,包括环境搭建、数据采集、单目标定、双目标定、立体校正和视差计算等核心步骤。通过完整的C++代码示例和参数调优指南,帮助开发者快速实现高精度的双目测距系统,适用于机器人导航、VR全景拍摄等领域。

weixin_42573113的博客 388

模拟滤波器的基础知识和设计

使用Python实现多种模拟滤波器

faltas的博客 3530

Trie树基本概念和训练指南

接触Trie树是在选拔赛时候遇到一题目,TLE无数次依然无解,赛后发现字符串统计有一利器名曰“字典树”,后来花了一段时间去写Trie. 什么叫Trie树? Trie树即字典树。 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时

u011044759的专栏 1276

2026年03月CCF-GESP编程能力等级认证C++编程一级真题解析

本文收录于专栏《。订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 338

hdu 1251 统计难题 (字典树)

题目链接:   hdu 1251 题目大意:   给出单词的词典,然后有限次询问                   每次询问给出的字符在词典中作为前缀的次数 解题思路:   建立词典的字典树                   用w标记此结点在建树过程中访问的次数,每经过一次就+1                   查询时把查询的字符遍历字典树,遍历最后结点的w值既是答案

ンZee的解题报告 1314

【异常】Cursor编辑器 “Taking longer than expected...“ 报错全链路排查与解决方案

该提示并非传统的程序崩溃或语法报错,本质是Cursor编辑器的超时预警机制——当核心任务(云端AI推理请求、本地项目索引等)的执行耗时超出系统预设阈值时,触发的用户告知类提示,核心诱因是任务执行全链路出现阻塞或性能瓶颈。以下方案按排查优先级从高到低排序,覆盖从快速急救到根因根治的全流程,可按步骤逐步验证解决。针对大仓库、多依赖项目的索引超时问题,核心是通过规则过滤无效文件,从根源降低索引负载。

奶爸的编程之路,也就一周冷个三天 3101

《网络安全自学教程》- SQL注入之报错注入原理+步骤+实战操作

这篇文章为大家解析报错注入的实现原理,结合实战案例讲解报错注入的使用步骤。

wangyuxiang946的博客 1万+

HDU 1251:统计难题 ← 字典树(Trie树)

【算法分析】 字典树,又称Trie树、单词查找树,是用于字符串快速检索的多叉树。 其原理是利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。 下文中的insert()、calPre()、query()、beginWith()函数,是字典树的经典函数。 在HDU 1251中,query()、beginWith()函数不需要,只是为了方便学习,将它们也写在代码里了。 另外,HDU 1251题目没有给出数据范围,但在调试代码时,发现数据范围至少要声明到10^6的范围才能通过。 特别需要说明的是,

hnjzsyjyj的专栏 858

ABAP CDS 和 HANA SQL 的关系

摘要: ABAP CDS与HANA SQL既有紧密联系又有本质区别。ABAP CDS作为语义数据建模框架,在SQL基础上扩展了业务语义层,通过注解(annotations)、关联关系(associations)等机制为数据附加业务含义,并支持权限控制、客户端处理等ABAP平台特性。虽然CDS实体最终会转换为HANA数据库对象执行,但它并非简单的SQL封装,而是构建了独立于数据库的语义模型。二者在数据库执行层深度融合,ABAP CDS通过代码下推技术将计算任务优化到HANA层完成。实际开发中应优先使用ABAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 859

字典树 ZOJ1109 HDU1251 PKU1204 HDU1075

字典树 ZOJ1109 HDU1251 PKU1204 HDU1075   又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 假设有abc,abcd,ab

轻锋的专栏 1413

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

hdu1251 Trie字典树模板

原题:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题解:Trie 字典树模板,没什么好说的,本篇用的是数组写法。 #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; using namespace std; const int N=1000010; ...

Exception 252

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

HDU1251 统计难题题解(字典树入门)

HDU1251 统计难题题解       Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).   Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统

My coding step! 671

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

3道入门字典树例题,以及模板【HDU1251/HDU1305/HDU1671】

HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意:求得以该字符串为前缀的数目,注意输入格式就行了。 1 #include<stdio.h> 2 #include<string.h> 3 4 char str[20]; 5 int trie[100000 * 4][...

a6334167的博客 151

HDU 1251 统计难题 字典树大水题

今天刚看的字典树, 就RE了一发, 字典树原理还是很简单的, 唯一的问题就是不知道一维够不够用, 就开的贼大, 这真的是容易MLE的东西啊, 赶紧去学优化吧。 HDU-1251统计难题 这道题唯一的问题就是会不会字典树, 2333, 给一个字典树的博客传送门, 话说这个博客一搜就搜到了啊. 代码: 1 #include<bits/stdc++.h> 2...

dengpangbu3703的博客 117

字典树(tire tree,例题:HDU1247,HDU1251,HDU4825)

字典树(tire tree):把字母存在树中,其中一条子链(从根节点开始)就是一个单词。   核心代码(主要三部分:结构体,插入,查询): 1.创建结构体 struct node { //isEnd是否是最后一字母 //也可以是别的,比较灵活 int isEnd; //此处为26个字母(如果更多的话可以增加) struct node *...

Radium_1209 596

HDU 1251 统计难题 字典树Trie模板

HDU 1251 统计难题 这是一道字典树Trie模板题,记录下来以便以后复习时使用。 Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). [输入] 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:本题只有一组测试数据,处理到文

weixin_46283740的博客 374

hdu1251-字典树

背景: 最近培训讲到acm了,当年没有好好呆着所以就,特别菜.学习下吧,刷刷水题. 这题我傻傻的用String的startsWith()去做了,整挺好,tle了,大概是因为要遍历输入的字符,然后数据量比较大.这的确比较挫. 去看了下思路,然后去了解了下Trie字典树. ![字典树图例](https://img-blog.csdnimg.cn/20191207005506282.png) 看...

LitRad 416

hdu 1251 统计难题 字典树

传送门:hdu1251统计难题 中文题目不做过多的解释解题思路已经接近于字典树的模板题目,每次把字典中的单词加入到树里面。 先是要创建这棵树, 1. 线定义结构体,先看我们定义的结构体typedef struct Trie{ int v; Trie *next[26]; }Trie; 创建字典树函数,字典树的创建如下图:, 这个图对应的过程就是, 首先是一个根节点,他是所有

woshinannan的专栏 461

HDU 1251

HDU 1251 题目描述 Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 输入描述 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每...

shadow_in_dark的博客 185

HDU - 1251 - 统计难题( 字典树 )

题目链接:点击进入 题目 思路 字典树,对于每个节点,记录一个以该节点为前缀的字符串数目 sum ,在插入的时候,每经过一个存在的节点,该节点 sum++ ,若该节点不存在,创建节点后,sum 赋初值 1 代码 // Problem: 统计难题 // Contest: Virtual Judge - HDU // URL: https://vjudge.net/problem/HDU-1251 // Memory Limit: 131 MB // Time Limit: 2000 ms // // P

Cosmic_Tree的博客 581

HDU 1251 统计难题

- HDU 1251 - 统计难题 ime Limit: 4000/2000 MS (Java/Others) | Memory Limit: 131070/65535 K (Java/Others) 题意: 给出一张单词表,每行一个单词,单词的长度不超过10 (只有小写字母组成,不会有重复的单词出现),要求统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 注意:本题只有一组...

Pandora_heart的博客 325

hdu1251:统计难题 字典树经典

题目链接:https://vjudge.net/problem/HDU-1251 题目:hdu 1251:统计难题(字典树,经典题) 统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Submission(s): 16905 Accepted Subm...

蜡笔小新冲鸭!!! 176
上一篇: C语言输出左对齐右对齐,补位
下一篇: auto在STL中的应用
weirdo_coder
博客等级 码龄9年 17粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值