字典树-水题

Poj-3630(字典树,水题) Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers: Emergency 911 Alice 97 625 999 ... 阅读详情

Hat’s Words


题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1247

 字典树题目: 建字典树,然后将一个单词分两个部分在字典树中查找!!

用结构体封装一下,感觉还行~~

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>水水更健康<<<<<<<<<<<<<<<<<<<<<<<<<<<

#include<cstdio>
#include<cstring>
#include<cctype>
#include<cmath>
#include<set>
#include<map>
#include<list>
#include<queue>
#include<deque>
#include<stack>
#include<string>
#include<vector>
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<time.h>

using namespace std;
typedef long long LL;
const int INF=2e9+1e8;
const int MOD=1e9+7;
const int MAXSIZE=2e4+100;
const double eps=0.0000000001;
void fre()
{
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
}
#define memst(a,b) memset(a,b,sizeof(a))
#define fr(i,a,n) for(int i=a;i<n;i++)

struct dicTree
{
    struct Node
    {
        int sum;
        int next[26];
    }Tree[200000];
    int root,sz;
    int newnode()
    {
        for(int i=0;i<26;i++) Tree[sz].next[i]=-1;
        Tree[sz++].sum=0;
        return sz-1;
    }
    void init()
    {
        sz=0;
        root=newnode();
    }
    void insert(string& s,int len)
    {
        int now=root;
        for(int i=0;i<len;i++)
        {
            int to=(int)(s[i]-'a');
            if(Tree[now].next[to]==-1) Tree[now].next[to]=newnode();
            now=Tree[now].next[to];
        }
        Tree[now].sum++;
    }
    bool find(string& s,int start,int len)
    {
        int now=root;
        for(int i=start;i<len;i++)
        {
            int to=(int)(s[i]-'a');
            if(Tree[now].next[to]==-1) return false;
            if(Tree[now].sum&&(!start)&&find(s,i,len)) return true;
            now=Tree[now].next[to];
        }
        if(start&&Tree[now].sum) return true;
        return false;
    }
};
dicTree AC;
string input[50009];
int main()
{
    AC.init();
    int tot=0;
    while(cin>>input[tot]) AC.insert(input[tot],(int)input[tot].size()),tot++;
    for(int i=0;i<tot;i++)
    {
        if(AC.find(input[i],0,(int)input[i].size())) cout<<input[i]<<endl;
    }
    return 0;
}

/**************************************************/
/**             Copyright Notice                 **/
/**  writer: wurong                              **/
/**  school: nyist                               **/
/**  blog  : http://blog.youkuaiyun.com/wr_technology  **/
/**************************************************/




流体动力学仿真软件:XFlow_(20).案例研究:声学仿真 在流体动力学仿真软件中,声学仿真是一个重要的应用领域。通过数值模拟,工程师和科研人员可以预测和分析流体系统中的声学现象,如气动噪声、声波传播和声场分布。这些仿真结果对于优化设计、降低噪声水平和提高系统性能具有重要意义。本节将详细介绍如何在流体动力学仿真软件中进行声学仿真,包括声学模型的选择、参数设置、后处理分析等内容,并通过具体的案例来说明这些步骤。 阅读详情

相关推荐

Simulink/Requirements Toolbox 学习(一):概述

编写、导入、导出需求并使需求正式化;两种创建需求的模块:需求编辑器、需求透视;描述需求的方式:文本、图像和关键字;通过导入和导出需求文件,与第三方需求管理工具(例如 Microsoft Word、Microsoft Excel®、IBM DOORS和 IBM DOORS Next)集成。涉及模块:Requirements Eidtor、Requirements Table等;

856

字典树 OJ水题

字典树 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 遇到单词不认识怎么办? 查字典啊,已知字典中有n个单词,假设单词都是由小写字母组成。现有m个不认识的单词,询问这m个单词是否出现在字典中。 Input 含有多组测试用例。 第一行输入n,m (n&gt;=0&amp;&amp;n&...

king9666的博客 554

Howland电流源电路:从理论到实践的深度解析与优化策略

本文深度解析了Howland电流源电路的工作原理,从经典四电阻架构的“虚短”“虚断”分析,到其实现宽带恒流输出的理论优势。重点剖析了实践中因电阻精度、运放参数及PCB布局导致的性能瓶颈,并提供了引入第五电阻、优化运放选型等关键优化策略,旨在将输出阻抗从kΩ级提升至MΩ级,以满足精密测量与传感器驱动等应用需求。

weixin_29243063的博客 443

字典树入门详解+一道入门水题

字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高(引用百度百科) 如下图:字典树的结构定义:typedef struct node{ node *next[26];

永不止步的博客 1142

CoaXPress协议入门(1)---- CXP测试套件

CoaXPress (简称CXP)是指一种采用同轴线缆进行互联的相机数据传输标准,主要用于替代之前的Camera Link协议,常见于科学相机、工业相机、医学图像、航空防务等场景。CXP是一个非对称的高速点对点串行传输协议,主要用于传输视频和静态图像,线缆多使用单条或多条同轴电缆。CXP易于集成,可以获得灵活可靠的性能,通过使用标准的同轴线缆,比如RG59 和 RG6规格(推荐使用RG6),并且图像、控制通讯、触发、电源都可以使用同一条线缆。

素手挽剑 9516

最全中文停用词表(可直接复制)

最全的停用此表整理 词表名 词表文件 中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 机器智能实验室停用词库 scu_stopwords.txt 以上停用词表链接:https://github.com/goto456/stopwords 以下是我常用的1893个停用词,可直接复制 ! " # $ % & ' ( ) * + , - -- . .. ... ....

dilifish的博客 12万+

HDU - 1247 (字典树水题)

题意:    给很多单词,问你有没有一个单词是由其它两个单词拼接而成,如果有就输出。思路:    因为本来就是字典序输入,所以只要按照字典序来判断然后输出就行了。    在建树的时候,对每一个单词的结尾进行标记。    然后对输入的单词一一判定,将单词放到树里面跑,如果跑到某一个点被标记过,则将这个点之后的字符串截取下来,在树中搜索这个单词是否出现过。大坑点:    题目不难,但是题目很坑。   ...

lucius-liu.cn 690

用blender为模型贴图并在gazebo中显示

用blender为模型贴图并在gazebo中显示 首先我用的是最新的blender2.92版本,附上链接https://www.blender.org/download/。并设置好简体中文。语言可以在编辑->偏好设置->界面里面设置。 首先界面右上角的摄像头,方块,灯光三个场景全都删除。 接着导入stl格式的模型文件,下面以tianbot_mini上面的激光雷达的模型为例。 导入激光雷达模型后,点击进入上方的UV Editing按钮进入UV编辑界面 此时我面看见网格化的激光雷达模型

qq_48427527的博客 8001

hdu1305 字典树水题

题意:      给你一些字符串,然后问你他们中有没有一个串是另一个串的前缀。 思路:       字典树水题,(这种水题如果数据不大(这个题目不知道大不大,题目没说估计 不大),hash下也行,把每个串拆成len个串,然后map容器记录下就行了,不想存也 行,最后迭代一下也能出来),回来说字典树,就是最简单的前缀判断应用,我写的结 构体里面有3个量,n

天使也掉毛 917

双重机器学习 stata教程 手把手教学

双重机器学习(DDML)的stata教程

weixin_59030591的博客 1万+

统信UOS系统盘扩容保姆级教程:用GParten-分区编辑器5分钟搞定

本文提供统信UOS系统盘扩容的详细图形化教程。针对系统盘空间不足问题,重点介绍如何使用系统自带的GParten-分区编辑器,在5-10分钟内安全、直观地完成扩容操作,无需记忆复杂命令,适合所有用户快速解决存储空间告急的困扰。

e3f4g5的博客 645

HDU - 1247 Hat’s Words(字典树水题)

Hat’s Words A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary. You are to find all the hat’s words in a dictionary. Input Standard in...

Error Man 的博客 576

CMake教程:C++ CMake自定义find_package并在其它项目使用

find_package 是 CMake 中一个非常重要的命令,用于在系统中找到外部库或包,并将其包含到项目中。: 要查找的包的名称。[version]: 可选的版本号。如果指定了版本号,CMake 会尝试找到该版本或更高版本的包。[REQUIRED]: 如果指定了这个关键字,找不到包时会产生一个错误并终止配置过程。: 指定要查找的包的组件。: 指定可选的组件,即使找不到这些组件,配置过程也会继续。: 指定查找包的模式,CONFIG表示查找配置文件,MODULE表示查找模块文件。

琅嬛福地 1563

字典树水题几枚

1.HDU 1251 统计难题 很裸的一道字典树,直接输出个数的, 其实用map也能水过,只不过效率有些低 map版本 map做法就是把每个字符串的所有前缀遍历一遍,然后存起来,最后直接数个数就行。 具体代码吐下 很久很久以前的代码 很挫 #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;list&gt; #...

java开发指南博客 【转载】 130

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

poj 1056 字典树水题

刚刚做出来的 昨晚看的模板,第一次看懂了什么是字典树。。汗了,从一开始的结构体定义都不知道。。到现在A过了一题,嘿嘿,挺高兴的 写一下我的理解吧。     主要就是建立一堆一样的结构体,以ROOT为原点,*NEXT【10】为分支联络员,连接着OTHER们,如果输入的S字符串中的数没有建立,那就加一个OTHER【num++】为NEXT【数】的成员,最后再在END上画下true,表示结束。

孩子 要努力啊 541

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 4287 Intelligent IME 水题

本想写个字典树 结果发现是个水题。。 #include #include #include #include #include #include using namespace std; const int MAX = 1000000 + 5; int num[MAX], val[MAX]; const int mp[] = {2, 2, 2, 3, 3, 3, 4, 4, 4,

Rocking_Bee's Blog 683

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HDU 1075字典树(水题)

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1075就是先给你一些单词的翻译,之后再给你一句话然你翻译一下。字典树可以做,map也可以做。#include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> #include <string> using name

My_stage的博客 483

hdu 1251 字典树的水题

字典树的水题 #include #include #include using namespace std; struct node { int num ; node *next[26]; } ; node * root; void trie(){ int i,j; root = new node; root->num = 0; for(int i

OceanLight的专栏 573

POJ3630 trie字典树水题

Trie水题

Gorden的博客 578

水题不水之字典树(Tire tree)

今天碰到了一个水题不水。题目链接如下:http://acm.nyist.net/JudgeOnline/problem.php?pid=163 第一感觉就是用字符串存储,然后一个一个地比较,然后,结果你们懂的,显然是TLE(超时),直接给我一个TLE错误,我了个去,然后 没办法才用的字典树。 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于...

互联网 121

POJ 2503 Babelfish(字典树水题)

题意: 输入一个字典,字典格式为“英语 外语”的一一映射关系 然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出“eh” 解析: 对于所有给定的单词建立一颗字典树,然后对于每次给出的单词用字典树进行查询。 mymy codecode#include <cstdio> #include <cstring> #include <algorithm> usin

小G的ACM之路 899

HDU - 4825 Xor Sum(01字典树水题)

Xor Sum Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大。Prometheus 为了让 Zeus 看到人类的伟大,随即同意 Zeus 可以向人类...

Error Man 的博客 188
上一篇: 树链剖分-入门题目
下一篇: HDU-2255(KM算法)
Code--Dream
博客等级 码龄11年 53粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值