
AC自动机&&trie
Jiahe Xu
为何要去攀登珠穆朗玛峰,因为她就在那里啊.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU5955 Guessing the Dice Roll AC自动机+高斯消元
10个人围在一起丢色子,每个人给一个长度为l的序列,色子可以丢无限次,谁的序列先出现谁就胜利,游戏结束。先说个暴力Y解,先建立AC自动机,然后很容易想到dp[I][J] 第i步走到状态j的概率,然后很明显次数可以用矩阵优化,然而我的姿势怎么也卡不过去。。。。正解是喜闻乐见的高斯消元,和 游走 一样,先对每个状态建立方程组,然后把初始状态的概率设为1(初始状态即为失配状态)由于一开始由0出发原创 2016-11-17 14:02:02 · 1622 阅读 · 0 评论 -
codeforces710F AC自动机
题意:维护一个字符串集合,支持插入一个串,删除一个串,询问集合中的串在给出的串中出现多少次,一个串出现多次算多次。并且不会有两次插入的串相同。强制在线。考虑没有删除的情况,将插入串的个数二进制拆分,对于每2k 个串维护一个ac自动机。 这样共有log个ac自动机 。插入时如果当前ac自动机中串的个数和上一个个数相同,那么合并两个自动机。每个字符串只会被合并log 次。有删除原创 2016-11-17 14:06:34 · 466 阅读 · 0 评论 -
706D. Vasiliy's Multiset
题目大意:给一个可以有相同数字的set 可以增减元素,询问每次提供一个x,y为set中的元素。z=max{max{y},max{y^x} } 求z的值。题解:按位枚举,在第i位时得到与x第i位XOR位1的数(0 or 1) 然后查询set中符合条件的元素。由于中途得到的ans一定会#include #include #include #include using namespa原创 2016-08-13 14:46:25 · 408 阅读 · 0 评论 -
hdu5845 Best Division (xor-trie+dp)
题意:给定一段数列,将其划分成最多的段 并且每段长度不超过 L且异或和不超过 X有一个很显然的 O(N2)的dp做法 dp[i]表示到 i为止最多能分成多少段 然后从前面最多 L个 dp值转移出来 但是对前面 L个 dp可以用 xor-trie维护一下 这样一来时间复杂度就是 O(Nlog(A))每次将当前位置的前缀异或和插入trie, 并且在叶子节原创 2017-02-08 18:44:53 · 474 阅读 · 0 评论