随笔分类 - 基础算法 - 位运算
摘要:题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,现遍历整棵树,要求每条边仅被经过两次,问是否存在一种特定的遍历方式使得 dfs 序中节点的相对前后关系符合给定的顺序。 题解: 首先,由于要求每条边仅能经过两次,可知若正在遍历当前节点 u,则以 u 为根节点的子树中的所有节点都必须遍历,因
        阅读全文
                
摘要:题目大意:给定一个 M 个含 N 个未知数的异或方程组,保证有解,若存在唯一解,给出至少需要几个方程才能得出唯一解,若不存在,直接输出不存在。 题解:异或方程组也满足类似初等行变换的操作,只不过所有的操作都是异或。依旧采用高斯消元来处理异或方程组,即:对于每列来说,从等于当前列的行号开始遍历每一行,
        阅读全文
                
摘要:题目大意:给定一个长度为 N 的序列,支持两种询问,即:区间异或,区间求和。 题解:加深了对线段树的理解。 对于线段树维护的变量一定是易于 modify 的,对于查询的答案只需用维护的东西进行组合而成即可。 异或和加法不具有分配律,因此不能直接维护区间和。考虑开 32 棵线段树,第 i 棵线段树维护
        阅读全文
                
摘要:题目大意:给定一个长度为 N 的序列,每个位置有一个权值,求 $$\sum\limits_{1\le i\le j\le n}(a_i\oplus a_{i+1}...\oplus a_j)$$ 的值。 题解: 解法1:从整体考虑。 先预处理出序列的前缀异或和。根据和式的性质可知,对于任意两个点 i
        阅读全文
                
摘要:题目大意:给定 N 个操作,每个操作为按位与、或、异或一个固定的数字,现在要求从 0 到 M 中任选一个数字,使得依次经过 N 个操作后的值最大。 题解:位运算有一个重要的性质是:位运算时,无进位产生,每一位之间相互独立。因此,可以从高到低依次考虑每一位对答案的贡献值,计算每一位经过这 N 个操作后
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号