随笔分类 - 字符串算法 -- 哈希
摘要:【BZOJ5337】[TJOI2018]str(动态规划,哈希) 题面 "BZOJ" "洛谷" 题解 就很呆。。。 显然按层,如果能够匹配上就进行转移,直接哈希判断是否能够匹配就好了。。。 cpp include include include using namespace std; de
阅读全文
摘要:【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划) 题面 "BZOJ" "洛谷" 题解 吉老师的题目是真的神仙啊。 去年去现场这题似乎骗了分就滚粗了? 首先直接算时的边数就好了。同理。 这里直接计算每个点的度数就可以做,然后就有分了。 我们
阅读全文
摘要:【LOJ 6066】「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 "LOJ" 题解 要哈希是很显然的,那么就考虑哈希什么。。。 要找一个东西可以表示一棵树,所以我们找到了括号序列。 那么二分一个答案,把所有点挂到次祖先上去,那么次祖先的哈希值就是它原本的括
阅读全文
摘要:【BZOJ1414】[ZJOI2009]对称的正方形(哈希) 题面 "BZOJ" "洛谷" 题解 深思熟虑一波,发现一个矩阵如果左右对称的话,那么它每行都是一个回文串,同理,如果上下对称的话,那么每列都是一个回文串。既然每行每列都是一个回文串,那么我们把它中心对称一下它还是一个回文串,妙蛙。 我们在
阅读全文
摘要:【HDU5469】Antonidas(点分治,字符串哈希) 题面 "HDU" "Vjudge" 题解 啊哈?什么垃圾一眼点分治+Hash判断,哈哈哈哈哈,让我来码码码。 诶,怎么WA了。改改改改改。 诶,怎么很对啊,去网上蒯一个标程来拍拍拍。 诶,怎么拍不WA啊,让我来人工检测一波啊哈哈哈哈。 感觉
阅读全文
摘要:【BZOJ3162】独钓寒江雪(树哈希,动态规划) 题面 "BZOJ" 题解 忽然翻到这道题目,突然发现就是前几天一道考试题目。。。 题解: 树哈希,既然只考虑这一棵树,那么,如果两个点为根是同构的, 他们的重心相同,所以直接找出树的重心,以重心为根进行转移 提前预处理每一棵子树的哈希值,因为相同的
阅读全文
摘要:【BZOJ1068】压缩(动态规划) 题面 "BZOJ" "洛谷" 题解 比较简单的 设表示当前已经匹配到了原串的第个位置,上一个在第个字符之后的方案数。 每次从当前位置转移出去,转移只有两种。 一种是直接匹配一位,也就是$f[i][j]
阅读全文
摘要:【BZOJ4651】【NOI2016】网格(Tarjan,哈希) 题面 "BZOJ" "洛谷" 题解 首先把题目稍微变得好说一些,给定一个网格,已经删去了若干个格子 问最少删去多少个格子使得图不连通。 这题的关键是要看出答案一定只有 证明一下一定存在答案不超过二。 在不是无解的情
阅读全文
摘要:【BZOJ4943】【NOI2017】蚯蚓排队(哈希) 题面 "BZOJ" "洛谷" "UOJ" 题解 记得去年看网络同步赛的时候是一脸懵逼的。 昨天看到做了,今天就看了看。。 这不是的傻逼题吗。。。 呜。。。 开链表存一下前驱后继,因为询问长度不超过 那么,总的串的个
阅读全文
摘要:【BZOJ1014】火星人(Splay,哈希) 题面 "BZOJ" 题解 要动态维护这个串,一脸的平衡树。 那么用维护这个哈希值就好了。 每次计算答案的时候二分+Splay计算区间哈希值, 时间复杂度 cpp include include include in
阅读全文
摘要:【BZOJ3507】通配符匹配(哈希,动态规划) 题面 "BZOJ" 题解 对于匹配唯一存在影响的只有通配符,而的影响也并不大,所以唯一需要仔细考虑的是。 考虑一个,设表示上面匹配到第个字符,下面匹配到第个字符是否存在方案。 转移也很显然,但是我们注
阅读全文
摘要:【BZOJ4755】扭动的回文串(Manacher,哈希) 题面 "BZOJ" 题解 不要真的以为看见了回文串就是一类就可以过。 这题显然不行啊。 我们主要考虑如何解决跨串拼接的回文串。 我们直接枚举回文中心, 即使要跨串,在最优情况下,也一定包含了这个回文中心的最长回文
阅读全文
摘要:【BZOJ4754】独特的树叶(哈希) 题面 "BZOJ" 给定一个个节点的树A和一个个节点的树 求的一个编号最小的节点,使得删去这个节点后同构 题解 树哈希 一个奇怪的姿势 总而言之,就是把树的各种信息乱七八糟的拼在一起强行哈希一下 真搞不懂这种丧病的东西为什
阅读全文
摘要:【BZOJ3555】企鹅QQ(字符串哈希) 题面 "BZOJ" 题解 把前缀哈希一下,后缀哈希一下 枚举哪个位置不选,然后检查一下相同就行了。。 为什么我的老是, 为什么一遍。、。 无奈啊。。 cpp include include include includ
阅读全文
摘要:【BZOJ5248】【九省联考2018】一双木棋(搜索,哈希) 题面 "BZOJ" Description 菲菲和牛牛在一块n行m列的棋盘上下棋,菲菲执黑棋先手,牛牛执白棋后手。棋局开始时,棋盘上没有任何棋子, 两人轮流在格子上落子,直到填满棋盘时结束。落子的规则是:一个格子可以落子当且仅当这个格子
阅读全文