https://loj.ac/problem/10038 题目描述 给出一个字符串S,以及q次询问,每次询问这个字符串子串的最短循环节。 思路 这道题是毒瘤题,一定是毒瘤题,至少loj的数据是。我有两个思路,一个93分,一个不加快读97分,加快读满分。 首先,很显然,对于一个字符串求最小循环节,枚举 ...
分类:
其他好文 时间:
2019-10-03 21:52:51
阅读次数:
79
https://loj.ac/problem/2427 题目描述 给出一段序列A,求一个k使将序列A分为k段(不是倍数最后一段舍去)不同的段数最多。一个串的反转和它本身相同。 思路 这道题A的长度并不大,我们可以暴力枚举k,对于每个k计算不同串的数目,再更新答案。需要注意这里并没有说一个串与它的顺序 ...
分类:
其他好文 时间:
2019-10-03 21:32:49
阅读次数:
62
https://loj.ac/problem/2823 题目描述 给出一个字符串U,求满足条件的字符串S使其复制一遍再插入一个字符后的字符串为U。 思路 由于插入过一个字符,所以我们可以进行一次扫描,每次扫描时将这个字符去掉,把去掉后字符串分成长度相等的两段,再比较这两段是否完全相同即可。如果暴力枚 ...
分类:
其他好文 时间:
2019-10-03 16:22:56
阅读次数:
67
https://loj.ac/problem/10035 题目描述 给出一个字符串,求它最多由多少个相同的字符串重复链接形成。 思路 其实题目就是要我们求出最小循环节的长度,再用字符串长度除以这个长度就是答案。求最小循环节显然用KMP就可以,但这里我们也可以用字符串Hash做。我们只需要暴力枚举每一 ...
分类:
其他好文 时间:
2019-10-03 12:35:44
阅读次数:
103
https://loj.ac/problem/10036 题目描述 给出一些字符串,求每个字符串既是前缀又是后缀的字串长度。 思路 显然这可以用KMP做,只要明确next数组的意思就行。不过一个更暴力的做法,直接字符串Hash,求每个前缀Hash值,再判断与它相同长度的后缀的Hash值是否相同,时间 ...
分类:
其他好文 时间:
2019-10-03 12:32:31
阅读次数:
74
https://loj.ac/problem/103 题目描述 给定一个字符串A和一个字符串B,求B在A中的出现次数。A和B中的字符均为英语大写字母或小写字母。 思路 显然这是道字符串匹配题我,我们可以用KMP求解。但这里我主要想介绍一种更简单的方法:字符串Hash。我们去一个基数b,把字符串看做b ...
分类:
其他好文 时间:
2019-10-02 23:09:59
阅读次数:
146
https://loj.ac/problem/10034 题目描述 设计一个系统支持两个操作: ①加入一个字符串s; ②查找是否存在一个字符串。 思路 我们这里的要求是维护一个可快速查找、插入字符串的数据结构。我们这里可以用Hash表,也就是散列表来储存。我们用使用双Hash,生成两个值,其中一个作 ...
分类:
其他好文 时间:
2019-10-02 22:52:33
阅读次数:
123
"loj" 这题有在一棵树上上升或者下降的操作,稍加分析后可以发现上升操作如果不是一定要做(指高度不足以到下一棵树或者是最后到达$n$)就不做,下降操作也是如果不是一定要做(指到达下一棵树时高度过高)就不做,因为如果提前做了,可能会导致后面要浪费一些步数使得移动合法.然后这个移动过程就会分成两段,先 ...
分类:
其他好文 时间:
2019-10-02 22:37:48
阅读次数:
134
https://loj.ac/problem/10031 题目描述 在一个4×4的方格内,有若干个1,每次可以交换0、1的位置,求最少多少步移成目标状态。 思路 这道题和棋盘游戏似乎没有太大区别,只是0、1数量不确定,思路一样,本人就不在写了。(其实代码都一模一样)。 代码 ...
分类:
移动开发 时间:
2019-10-01 20:42:40
阅读次数:
236
https://loj.ac/problem/10030 题目描述 给出一个虚拟键盘,键盘上有一光标,可以上下左右移动,移动时沿该方向一直移动到不同字符,求将给定字符串输出的最小步数(初始位置在左上角,移动为一步,点击键盘为一步,字符串结尾有换行符,用‘*’表示)。 思路 首先每一步移动时都可能会移 ...
分类:
其他好文 时间:
2019-10-01 20:25:40
阅读次数:
112