wikioi 1306 机智Trie树
题目描写叙述 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树的更多相关文章
- 基于trie树做一个ac自动机
基于trie树做一个ac自动机 #!/usr/bin/python # -*- coding: utf-8 -*- class Node: def __init__(self): self.value ...
- 基于trie树的具有联想功能的文本编辑器
之前的软件设计与开发实践课程中,自己构思的大作业题目.做的具有核心功能,但是还欠缺边边角角的小功能和持久化数据结构,先放出来,有机会一点点改.github:https://github.com/chu ...
- hihocoder-1014 Trie树
hihocoder 1014 : Trie树 link: https://hihocoder.com/problemset/problem/1014 题意: 实现Trie树,实现对单词的快速统计. # ...
- 洛谷P2412 查单词 [trie树 RMQ]
题目背景 滚粗了的HansBug在收拾旧英语书,然而他发现了什么奇妙的东西. 题目描述 udp2.T3如果遇到相同的字符串,输出后面的 蒟蒻HansBug在一本英语书里面找到了一个单词表,包含N个单词 ...
- 通过trie树实现单词自动补全
/** * 实现单词补全功能 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #incl ...
- #1014 Trie树
本题主要是求构造一棵Trie树,即词典树用于统计单词. C#代码如下: using System; using System.Collections.Generic; using System.Lin ...
- Trie树-字典查找
描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题: ...
- Trie树的创建、插入、查询的实现
原文:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28977986&id=3807947 1.什么是Trie树 Tr ...
- Trie树(c++实现)
转:http://www.cnblogs.com/kaituorensheng/p/3602155.html http://blog.csdn.net/insistgogo/article/detai ...
随机推荐
- ubuntu14.04无法安装Curl
ubuntu14.04无法安装Curl apt-get install curl 提示没有这个软件 源 更换软件源到163也不行,更新软件源也不行. 解决:參考http://www.linuxidc. ...
- 朴素的UNIX之-调度器细节
0.多进程调度的本质 我们都知道UNIX上有一个著名的nice调用.何谓nice,当然是"好"了.常规的想法是nice值越大越好,实际上,nice值越好,自己的优先级越低.那么为何 ...
- angularjs1- ng-include
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 0x07 贪心
被虐爆了...贪心这种玄学东西还可以证吗??除了范围缩放算是可以想想比较经典(倍增第一题?)... poj3614:这道题想了很久,并没有想到是把minSPF按大到小排序,一直的思想是小的就小到大排序 ...
- [POI 2007] 旅游景点
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1097 [算法] 首先,用Dijkstra算法求出2-k+1到每个点的最短路 然后,我 ...
- C# Parse and TryParse 方法详解
工作中遇到的常用方法: Parse and TryParse TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常 /// <summary ...
- Linux 安装Redis 5.0
结构如下: Redis 官方不建议Redis安装在WINDOWS 服务器上(尤其是生产中分布式事物缓存). linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建:https://www. ...
- Android和IOS等效MD5加密
最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...
- 任何抛开业务谈大数据量的sql优化都是瞎扯
周三去某在线旅游公司面试.被问到了一个关于数据量大的优化问题.问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接. 本人接触过单表数据量最大的就是将近两亿行历史数据( ...
- HDU 1257 最少拦截系统【最长上升子序列】
解题思路:可以转化为求最长上升子序列来做,还是可以用an与按升序排列后的an求LCS来做,为防止超时,用滚动数组优化一下就可以了. 最少拦截系统 Time Limit: 2000/1000 MS (J ...