传送门 题意 给你一个序列 a i a_i ai和一个序列 b i b_i bi,可以改变 b i b_i bi的顺序,要求 a i ⊕ b i a _i\oplus b_i ai⊕bi 为定值 x x x,求 x x x所有可能的值 分析 a ⊕ b = x a \oplus b = x a⊕b=x 等价于 a = b ⊕ x a =b \oplus x a=b⊕x,枚举一下
传送门 题意 给你 n × n n × n n×n的单元矩阵,其中各单元属性要么是白要么是黑,现在需要你计算出有多少种方案可以将白块绘制成红块,使得这个区域连通且大小为 k k k。 分析 这个数据范围大概就是用 d f s dfs dfs去爆搜了,关键怎么去剪枝 我们可以去用 m a p map map存一下这个图有没有被搜索过,然后进行剪枝即可 代码 #pragma GCC opt
传送⻔ 题意 有 n n n个人分为 k k k组 其中两个人 i , j i , j i,j如果满足 i % m = = j % m i\%m==j\%m i%m==j%m就不能分在一个组 求当 k ∈ [ 1 , n ] k\in[1,n] k∈[1,n]时的方案数 分析 只考虑第 i i i位放在哪里 设 f [ i ] [ j ] f[i][j] f[i][j]表示前
传送⻔ 分析 数据范围不大,所以考虑区间 D P DP DP 令 f [ i ] [ j ] f[i][j] f[i][j]表示 i − j i - j i−j区间内的方案数,设中间点 k k k,若 i i i和 k k k可以匹配,则 f [ i ] [ j ] = ( f [ i ] [ j ] + f [ i + 1 ] [ k − 1 ] ∗ f [ k + 1 ] [ j ] ∗
传送⻔ 题意 给出点数为 n n n,边数为 m m m的有向图,问每次删去一条边时, 1 − n 1 - n 1−n的最短路,每次询问相互独立。 n < = 400 n < = 400 n<=400 分析 分情况讨论,我们先求出这个图内的最短路,并且路径还原就可以知道哪些边在最短路中,这些边在图中最多不超过 n − 1 n - 1 n−1条 如果当前枚举的边不是最短路中的边,那么直接输