码迷,mamicode.com
首页 > 其他好文 > 详细

wikioi 1306 机智Trie树

时间:2014-07-16 17:19:01      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:des   style   color   strong   os   数据   

       看广播操无聊得很~你有觉得吗?在看广播操一波又一波的人潮涌过再退去。觉得很没意思……于是,偶们的大神犇JHT发明了一个及其好玩的游戏~

       把每一班级的队形看成一个字母(仅可能为大写字母),然后按他们的出场顺序无聊地排成一串,成为了一个著名的字符串!JHT神犇想看看一个年级中,一共有多少种不同的出场组合(LCZ:说白了就是求字符串内的非空子串的数量!)。

       1行:一个字符串s

       1行:一个数字(s字符串的不同非空子串数)

AAABBBCCC

36

时间限制 Time Limitation

前8点每点1s

后2点每点1.5s

字符串长度 Hint

       10%的数据:1≤字符串s的长度≤100

       80%的数据:1≤字符串s的长度≤1200

       100%的数据:1≤字符串s的长度≤1500


这题刚开始暴力取的子串,然后加入Trie树,然后T了,在取子串的时候T的,然后就没有然后了。下载了别人的代码才发现取子串的机智,详见代码。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include<iostream>
#include<bitset>
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
char s[1505];
int sum,i,j,len,u,ch[1200000][26];
int main()
{
    scanf("%s",s);
    len=strlen(s);
    for(i=0;i<len;i++)
    {
        u=0;
        for(j=i;j<len;j++)
        {
            int c=s[j]-'A';
            if(!ch[u][c]) ch[u][c]=++sum;
            u=ch[u][c];
        }
    }
    cout<<sum<<endl;
    return 0;
}


wikioi 1306 机智Trie树,布布扣,bubuko.com

wikioi 1306 机智Trie树

标签:des   style   color   strong   os   数据   

原文地址:http://blog.csdn.net/u011466175/article/details/37818215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!