摘要: 嘟嘟嘟 首先这题的暴力是十分好写的,而且据说能得不少分。 正解写起来不难,就是不太好想。 根据做题经验,我想到了给这个序列转化成01序列,但是接下来我就不会了。还是看了题解。 因为查询只有一个数,所以可以二分答案:把大于等于mid的数标记成1,小于mid的数为0.这样排序就是区间赋值了,线段树可做。 阅读全文
posted @ 2019-03-18 20:22 mrclr 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 现在看到字符串就想到SAM,所以很担心kmp啥的会不会忘了…… 这题感觉挺暴力的:首先当然要把$s$建成SAM,然后令$dp[i][j]$表示到第$i$组时,SAM上节点$j$能匹配的字符串个数。 转移的时候暴力枚举起点节点$p$,然后每一次都把当前字符串放上去跑,如果在SAM上存在的话,令 阅读全文
posted @ 2019-03-18 17:58 mrclr 阅读(449) 评论(0) 推荐(1) 编辑
摘要: 嘟嘟嘟 判断树的同构的方法就是树上哈希。 如果树是一棵有根树,那么只要从根节点出发dfs,每一个节点的哈希值等于按传统方式算出来的子树的哈希值的结果。需要注意的是,算完子树的哈希值后要先排序再加起来,因为两个互为同构的树可能子树顺序不同,以哈希值作为关键字排序,就能保证相同的子树位置也相同了。 对于 阅读全文
posted @ 2019-03-18 11:47 mrclr 阅读(271) 评论(0) 推荐(0) 编辑