最小表示法
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小表示法—介绍
最小表示法使得一个环形字符串有唯一的读法,这个读法是所有读法中字典序最小的。本文讲解的是最小表示法的O(n)求法。对于这种环形问题,一个常规的做法是把它自己复制一遍,接到原串之后。问题就转换成了求在字符串s中长度为n的最小子串。先思考暴力做法。找到所有同构串,两两间比较一下,找到最小的。优一点的做法,存下一个最小的同构串,逐一比较,如果有更小的则替换之。即便是这样时间复杂度O(n*|S|...原创 2018-08-08 19:41:44 · 1165 阅读 · 2 评论 -
bzoj1398 Necklace(最小表示法)
题意给出两串数字,判断它们是否是同构串。 题解最小表示法裸题~~~ 代码#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxl=1000010;char s1[2*maxl],s2[2*maxl];in...原创 2018-08-13 11:22:26 · 349 阅读 · 0 评论 -
poj3349 Snowflake Snow Snowflakes(Hash)
题意给你n朵雪花,每朵雪花有6片花瓣,每片花瓣有一个权值。花瓣的权值可以从任意位置的顺时针或逆时针来读,判断是否有两朵相同的雪花。 题解1暴力hash我们约定,一朵雪花的hash值为,P取质数99991。对于相同的hash,我们将其各边用邻接表记录,对其中进行暴力比对:枚举起点,顺着、逆着各判一次。 代码#include<cstdio>#include...原创 2018-08-08 20:20:02 · 409 阅读 · 0 评论
分享