bzoj
文章平均质量分 84
johsnows
正在静下心来学算法的acmer
展开
-
USACO 2015 February Censoring (Gold)&&BZOJ3940 && 阿里2021秋招笔试T2自动删除机
BZOJ倒了,USACO上还可以补题,链接是:http://www.usaco.org/index.php?page=viewproblem2&cpid=533题意不赘诉了。思路:建ac自动机,用一个栈维护删除后得字符串(ans[top]),一个数组记录每个字符匹配到的树(自动机)上的点d[top],当在树上匹配到一个完整子串节点,就弹栈,删除对应长度得字符串,然后当前匹配节点也返回到对应字符的点上,注意d数组的下标也是top。好久没写自动机了,有一个注意点是 自动机root节点原创 2020-08-09 18:11:14 · 1641 阅读 · 0 评论 -
BZOJ 2844 albus就是要第一个出场(线性基)
Description已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 集构成的集合。定义映射 f : 2^S -> Zf(空集) = 0f(T) = XOR A[t] , 对于一切t属于T现在albus把2^S中每个集合的f值计算出来, 从小到大排成一行, 记为序列B(下标从1开始)。 给定一个数, 那么这个数在序列B中第1次出现时的下标是多少呢?原创 2016-11-16 11:52:13 · 502 阅读 · 0 评论 -
bzoj 2212 [Poi2011]Tree Rotations(线段树合并)
题意:一棵二叉树有n个叶子节点,每个叶子节点有权值,可以交换左右子树,问先序遍历这棵树,得到的最小逆序对数。思路:应该算是线段树合并的入门题。暴力每个非叶子节点,用ans1记录不交换左右子树时,跨越左子树和右子树的答案,即左子树大于右子树的数的对数,ans2记录交换左右子树时的答案。查询左子树中大于右子树的对数可以对左右子树各建一棵权值线段树,在线段树合原创 2017-08-18 22:16:56 · 331 阅读 · 0 评论