[bzoj1174]Toponyms
时间:2019-11-13
本文章向大家介绍[bzoj1174]Toponyms,主要包括[bzoj1174]Toponyms使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
构建一棵trie树,然后每一个点的次数*深度取max即可
(然而这道题并没有这么简单)
首先字符串长度为500000,字符类型52种,需要用邻接表存储(用map就别想了)
然后字符串的读入十分麻烦,需要用getchar来读入,还要判掉多余回车
最后还有点卡常,要注意常数
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 5000005 4 struct ji{ 5 int nex,to,val; 6 }edge[N]; 7 int V,E,n,sum[N],head[N]; 8 long long ans; 9 void add(int x,int y,int z){ 10 edge[E].nex=head[x]; 11 edge[E].to=y; 12 edge[E].val=z; 13 head[x]=E++; 14 } 15 void insert(){ 16 int c=getchar(); 17 while (c=='\n')c=getchar(); 18 for(int i=1,k=1;c!='\n';i++,c=getchar()){ 19 int t=k; 20 for(int j=head[k];j!=-1;j=edge[j].nex) 21 if (edge[j].val==c)k=edge[j].to; 22 if (t==k)add(t,k=++V,c); 23 sum[k]++; 24 ans=max(ans,1LL*sum[k]*i); 25 } 26 } 27 int main(){ 28 scanf("%d",&n); 29 V=1; 30 memset(head,-1,sizeof(head)); 31 for(int i=1;i<=n;i++)insert(); 32 printf("%lld",ans); 33 }
原文地址:https://www.cnblogs.com/PYWBKTDA/p/11847145.html
- css实现图片横向排列滚动
- windows下nvm安装node之后npm命令找不到问题解决办法
- 元素加了position:absolute则该元素的text-align:center居中失效的解决办法
- Chrome设置断点的各种姿势
- React-native踩坑小记
- 带修改莫队算法
- P2590 [ZJOI2008]树的统计
- #103. 子串查找
- P2051 [AHOI2009]中国象棋
- P2216 [HAOI2007]理想的正方形(二维RMQ)
- P3376 【模板】网络最大流(70)
- android客服端+eps8266+单片机+路由器之远程控制系统
- P2740 [USACO4.2]草地排水Drainage Ditches
- P1343 地震逃生
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL自身对性能的影响
- Python 技术篇-用pywin32库实现读写剪贴板
- Excel 技巧篇-在指定范围内生成指定小数位的随机数
- PyQt5 技巧篇-窗口置顶设置,如何使窗口始终显示在最前面
- 解决npm install时报错无法安装chromedriver的问题
- 解决集成jpa时无法创建entityManagerFactory的问题
- Spring船新版推出的WebFlux,是兄弟就来学我
- JDK9特性-Reactive Stream 响应式流
- Java函数式编程之Stream流编程
- 使用docker安装elasticsearch伪分布式集群以及安装ik中文分词插件
- PyQt5 技巧篇-如何让窗体只显示关闭按钮
- Gradle多项目构建与jar包发布
- Gradle初体验
- hexo初始化
- 容器部署Spring Cloud项目