思路容易想,卡空间和时间就吐了
用链式前向星压缩空间,用getchar()一位一位读加快读入


#include <iostream>
#include <cstdio>
#include <stack>
#include <sstream>
#include <limits.h>
#include <vector>
#include <map>
#include <cstring>
#include <deque>
#include <cmath>
#include <iomanip>
#include <queue>
#include <algorithm>
#include <set>
#define Mid ((l + r) >> 1)
#define Lson rt << 1, l , mid
#define Rson rt << 1|1, mid + 1, r
#define ms(a,al) memset(a,al,sizeof(a))
#define log2(a) log(a)/log(2)
#define _for(i,a,b) for( int i = (a); i < (b); ++i)
#define _rep(i,a,b) for( int i = (a); i <= (b); ++i)
#define for_(i,a,b) for( int i = (a); i >= (b); -- i)
#define rep_(i,a,b) for( int i = (a); i > (b); -- i)
#define lowbit(x) ((-x) & x)
#define IOS std::ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define INF 0x3f3f3f3f
#define LLF 0x3f3f3f3f3f3f3f3f
#define hash Hash
#define next Next
#define pb push_back
#define f first
#define s second
using namespace std;
const int N = 5e6 + 10, MOD = 998244353;
const long double eps = 1e-5;
const int p = 2333;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef pair<ll,ll> PLL;
typedef pair<double,double> PDD;
template<typename T> void read(T &x)
{x = 0;char ch = getchar();ll f = 1;while(!isdigit(ch)){if(ch == '-')f*=-1;ch=getchar();}while(isdigit(ch)){x = x*10+ch-48;ch=getchar();}x*=f;
}
template<typename T, typename... Args> void read(T &first, Args& ... args)
{read(first);read(args...);
}
int n;
char str[N];
ll ans;
int idx, var; //顶点和内存池
int cnt[N];
// 插入一个字符串
struct node {char val;int to;int next;
}e[N];
int head[N];void insert()
{int p = 0;char C = getchar();for (int i = 0; C != '\n'; i ++, C = getchar()){int v = -1;for(int i = head[p]; ~i; i = e[i].next)if(e[i].val == C) {v = e[i].to;p = v;break;}if(v == -1) {e[idx] = {C,++ var/*开新节点*/,head[p]};head[p] = idx ++;//开新边p = var;}cnt[p] ++;ans = max((ll)cnt[p] * (i + 1),ans);}}int main()
{ms(head,-1);read(n);for(int i = 0; i < n; ++ i)insert();printf("%lld\n",ans);return 0;
} 

Balkan2007]Toponyms[链式前向星建字典树+getchar()读入优化]相关推荐

  1. Djisktra + 链式前向星建图 + PriorityQueue堆优化【附Java代码模板题解】

    Djisktra堆优化(链式前向星)

  2. HDU1535 Invitation Cards(链式前向星+堆优化dijkstra)[C++]

    目录 题目及翻译 题面 输入 输出 输入样例 输出样例 题目思路 注意事项 AC代码 C++ 题目及翻译 题面 In the age of television, not many people at ...

  3. 前向星和链式前向星(详解+模板)

    前向星和链式前向星 参考博客:深度理解链式前向星 什么是前向星 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的 ...

  4. 链式前向星模板 建图+dfs+bfs+dijkstra

    边没有用struct封装起来,节点和边的计数起点如果不符合习惯可以稍作修改 建图+DFS+BFS #include <cstdio> #include <cstring> #i ...

  5. AcWing 4246. 最短路径和(反向建图+链式前向星+堆优化)

    题目连接 https://www.acwing.com/problem/content/description/4249/ http://poj.org/problem?id=1511 思路 其实这道 ...

  6. P1155 双栈排序(二分图的染色判断+链式前向星)

    P1155 双栈排序 让字典序最小,当然尽量进S1 那什么时候必须进S2呢? a[i]和a[j] 不能压入同一个栈⇔存在一个k,使得i<j<k且a[k]<a[i]<a[j] 因 ...

  7. 图的存储 邻接矩阵+邻接表+链式前向星

    图的存储 - 邻接矩阵 在树的问题中,邻接矩阵是空间.时间的极大浪费. 假设树的结点个数为 N = 100000. 建立邻接矩阵需要空间为 1e5*1e5 但是由于只有 N - 1 条边,所以在邻接矩 ...

  8. 图的储存方式,链式前向星最简单实现方式 (边集数组)

    对于图来说,储存方式无非就是邻接矩阵.邻接表,今天看了看链式前向星的储存方式,说来说去不还是链表,是一种链表的简单的实现方式,还是比较好理解的.看他们写个结构体,个人不喜欢,没必要,也嫌麻烦,换一种更 ...

  9. 蓝桥集训之BFS、DFS和链式前向星

    配套视频 https://www.bilibili.com/video/BV1RD4y1F7Fq 一.建图基础 前言 图一般定义为二元集: 由顶点集与边集构成. 或者更抽象的说,由一个集合(顶点),和 ...

最新文章

  1. HTML添加上传图片并进行预览
  2. 【NCEPU】徐韬:街景字符编码识别比赛
  3. java request 封装对象_java通过request自动封装复杂对象
  4. MFC- OnIdle空闲处理
  5. ARM Cortex M3指令集
  6. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。
  7. 马未都说收藏:陶瓷篇(8、9)元青花、永宣青花
  8. 京东联盟API - 万能转链接口 - 高效转链接口 - 接口定制
  9. Linux_常用的磁盘列阵(RAID)
  10. python代码编辑器
  11. 什么是抽象类?抽象类有什么特点?举例说明抽象类及其成员的定义方法。
  12. samba服务器搭建详细配置
  13. G20错误修改---转载
  14. 销售订单_跨公司销售
  15. arping指令即其参数对应的功能
  16. 看了几百个小时资料,为什么你只能是“伪架构师”?| 聊聊这件事
  17. DRM系列(4)之drmModePageFlip
  18. css代码实现各式各样的icon小图标
  19. 开关灯问题(python)实现
  20. 微分中值定理之罗尔中值定理

热门文章

  1. python集合用法详解(创建、添加(add()、update())、删除(remove()、discard()、pop())、查找(in、not in))
  2. idea配置Maven的坑
  3. 线程和进程有什么区别?
  4. 机器视觉检测中的图像预处理方法
  5. Transformer 超详细解读,一图胜千言
  6. 双十二自动刷淘宝能量,这个脚本你值得拥有
  7. go的打包依赖构建工具-dep
  8. Faiss教程:索引(2)
  9. 一个简单express+jade+mysql+bootstrap+nodejs的demo
  10. 学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec...