HDU1251 裸字典树

Posted #WoNderlAnd#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU1251 裸字典树相关的知识,希望对你有一定的参考价值。

HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251

初学字典树,码模板……

#include<iostream>
#include<string.h>
using namespace std;
char a[15];
struct node {
    node *nextt[26];
    int v=0;
};
node root;
void init()
{
    for (int i = 0; i < 26; i++)
    {
        root.nextt[i] = NULL;
    }
}
void creatree()
{
    int len = strlen(a);
    node *p = &root,*q;
    for (int i = 0; i < len; i++)
    {
        int id = a[i] - a;
        if (p->nextt[id] == NULL)
        {
            q = (node*)malloc(sizeof(node));
            q->v = 1;
            for (int j = 0; j < 26; j++)
                q->nextt[j] = NULL;
            p->nextt[id] = q;
            p = p->nextt[id];
        }
        else {
            p->nextt[id]->v++;
            p = p->nextt[id];
        }
    }
}
int find()
{
    int len = strlen(a);
    node *p = &root;
    for (int i = 0; i < len; i++)
    {
        int id = a[i] - a;
        p = p->nextt[id];
        if (p == NULL) return 0;
    }
    return p->v;
}
int main()
{
    init();
    while (gets(a) && a[0] != \0)
        creatree();
    while (cin >> a)
    {
        cout << find() << endl;
    }
    return 0;
}

 

以上是关于HDU1251 裸字典树的主要内容,如果未能解决你的问题,请参考以下文章

hdu 1251 统计难题(字典树)

hdu 1251 统计难题(字典树)

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

hdu-1251(字典树)

统计难题HDU - 1251map打表或字典树字典树模板

HDU-1251统计难题 ,字典树