BZOJ 1174 [Balkan2007]Toponyms(Trie)
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=1174
【题目大意】
选出一些字符串,使得字符串的最长公共前缀*字符串的总个数最大化
【题解】
字典树裸题,卡内存,需要用链表实现
【代码】
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int S=5000100;
struct Trie{
int tot,cnt[S],ans,head[S],nxt[S],to[S],m;
char c[S];
void insert(){
char C=getchar();
for(int x=0,i=0;C!='\n';i++,C=getchar()){
int y=-1;
for(int e=head[x];e;e=nxt[e])if(c[e]==C){y=to[e];break;}
if(y<0)to[++m]=++tot,c[m]=C,nxt[m]=head[x],head[x]=m,y=tot;
cnt[x=y]++;
ans=max(ans,cnt[x]*(i+1));
}
}
}T;
int n;
int main(){
scanf("%d",&n); getchar();
for(int i=1;i<=n;i++)T.insert();
printf("%d\n",T.ans);
return 0;
}
BZOJ 1174 [Balkan2007]Toponyms(Trie)的更多相关文章
- BZOJ 1174: [Balkan2007]Toponyms
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 735 Solved: 102[Submit][Status][Discuss] Descriptio ...
- 【python】Leetcode每日一题-前缀树(Trie)
[python]Leetcode每日一题-前缀树(Trie) [题目描述] Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的 ...
- BZOJ 1251 序列终结者(Splay)
题目大意 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术 ...
- LA3942-Remember the Word(Trie)
题意: 有s个不同的单词,给出一个长字符串把这个字符串分解成若干个单词的连接(可重复使用),有多少种分解方法 分析: dp[i]表示i开始的字符串能分解的方法数 dp[i]=sum(dp[i+len( ...
- HDU 1671 Phone List (Trie)
pid=1671">Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- BZOJ刷题指南(转)
基础(65) 巨水无比(4):1214.3816:2B题:1000A+B:2462:输出10个1 模拟/枚举/暴力(15):4063傻子模拟:1968小学生暴力:1218前缀和暴力:3856读英文:4 ...
- BZOJ K大数查询(分治)(Zjoi2013)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3110 Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b ...
- BZOJ 3000: Big Number (数学)
题目: https://www.lydsy.com/JudgeOnline/problem.php?id=3000 题解: 首先n很大,O(n)跑不过,那么就要用一些高端 而且没听过 的东西——sti ...
- BZOJ 1049 数字序列(LIS)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1049 题意:给出一个数列A,要求:(1)修改最少的数字使得数列严格递增:(2)在( ...
随机推荐
- 个人对java中对象锁与类锁的一些理解与实例
一 什么是对象锁 对象锁也叫方法锁,是针对一个对象实例的,它只在该对象的某个内存位置声明一个标识该对象是否拥有锁,所有它只会锁住当前的对象,而并不会对其他对象实例的锁产生任何影响,不同对象访问同一个 ...
- 跳出python的各种坑(1)
2017-11-1915:38:17 一定要跳出python的各种坑,一开始遇到的好多思维上的认知错误,因为刚开始学习,对python是个什么都不清楚,所以记录一下自己遇到的各种坑.不用担心自己遇到的 ...
- MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集
MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的.character-set-database:数据 ...
- linux用户权限 -> 系统用户管理
用户基本概述: Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响 ...
- docker stack 部署 rabbitmq 容器
=============================================== 2018/5/13_第1次修改 ccb_warlock == ...
- 洛谷P3366最小生成树
传送门啦 #include <iostream> #include <cstdio> #include <cstring> #include <algorit ...
- SVN入门教程总结
参考: SVN使用笔记 SVN入门必备教程 一看就懂 SVN使用教程总结 版本控制器:SVN教程 菜鸟教程之SVN教程 极客学院之SVN教程 SVN(SubVersion)简介: 为什么要使用SVN( ...
- LeetCode664. Strange Printer
There is a strange printer with the following two special requirements: The printer can only print a ...
- (最大矩阵链乘)Matrix-chain product
Matrix-chain product. The following are some instances. a) <3, 5, 2, 1,10> b) < ...
- Delphi与Socket
一.Delphi与Socket计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCPIP和UDP协议.TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆B ...