题目描写叙述 Description

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

把每一班级的队形看成一个字母(仅可能为大写字母),然后按他们的出场顺序无聊地排成一串,成为了一个著名的字符串!

JHT神犇想看看一个年级中,一共同拥有多少种不同的出场组合(LCZ:说白了就是求字符串内的非空子串的数量!)。

输入描写叙述 Input Description

1行:一个字符串s

输出描写叙述 Output Description

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

例子输入 Sample Input

AAABBBCCC

例子输出 Sample Output

36

数据范围及提示 Data Size & Hint

时间限制 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树的更多相关文章

  1. 基于trie树做一个ac自动机

    基于trie树做一个ac自动机 #!/usr/bin/python # -*- coding: utf-8 -*- class Node: def __init__(self): self.value ...

  2. 基于trie树的具有联想功能的文本编辑器

    之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...

  3. hihocoder-1014 Trie树

    hihocoder 1014 : Trie树 link: https://hihocoder.com/problemset/problem/1014 题意: 实现Trie树,实现对单词的快速统计. # ...

  4. 洛谷P2412 查单词 [trie树 RMQ]

    题目背景 滚粗了的HansBug在收拾旧英语书,然而他发现了什么奇妙的东西. 题目描述 udp2.T3如果遇到相同的字符串,输出后面的 蒟蒻HansBug在一本英语书里面找到了一个单词表,包含N个单词 ...

  5. 通过trie树实现单词自动补全

    /** * 实现单词补全功能 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #incl ...

  6. #1014 Trie树

    本题主要是求构造一棵Trie树,即词典树用于统计单词. C#代码如下: using System; using System.Collections.Generic; using System.Lin ...

  7. Trie树-字典查找

    描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题: ...

  8. Trie树的创建、插入、查询的实现

    原文:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28977986&id=3807947 1.什么是Trie树 Tr ...

  9. Trie树(c++实现)

    转:http://www.cnblogs.com/kaituorensheng/p/3602155.html http://blog.csdn.net/insistgogo/article/detai ...

随机推荐

  1. UML中的序列图(时序图)

    序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时.生命 ...

  2. jQuery Video Extend

    HTML5视频扩展插件 能够加入Logo 加入标记 用法: 下载:jquery-video-extend <script src="js/jquery-2.1.4.min.js&quo ...

  3. UVA10370 Above Average

    Above Average It is said that 90% of frosh expect to be above average in their class. You are to pro ...

  4. 数据库SQL Server2012笔记(三)——表的复杂查询

    1.数据分组--max/min/avg/sum/count select  avg(字段名),sum(字段名)  from  表名 select  count(*)  from  表名 select ...

  5. unity3d Pathfinding插件使用

    Overview The central script of the A* Pathfinding Project is the script 'astarpath.cs', it acts as a ...

  6. Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherlock ...

  7. Spyder调试快捷键

    Ctrl+1:  注释.取消注释 Ctrl+4/5:  块注释 / 取消块注释 F12: 断点 / 取消断点 F5: 运行 Ctrl+F5: 启动调试 Ctrl+F10: 单步调试,跳过函数内部实现 ...

  8. SQL语句之Group By

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...

  9. pyCrypto python 3.5--转

    原文地址:https://gxnotes.com/article/198426.html 问题描述 我发现一些PyCrypto安装程序为Python 3.3和3.4,但没有任何Python 3.5. ...

  10. 【转】C# ABP WebApi与Swagger UI的集成

    以前在做WebAPI调用测试时,一直在使用Fiddler测试工具了,而且这个用起来比较繁琐,需要各种配置,并且不直观,还有一点是还得弄明白URL地址和要传递的参数,然后才能调用.  最近新入职,公司里 ...