摘要: 题目描述 题解 考虑到选出的两个集合的异或值为 $0$ ,所以我们可以看做找出集合,其异或值为 $0$ ,然后如果这个集合大小是 $x$ ,对答案的贡献就是 $2^x$ 所以我们考虑每个 $i$ 对应一个多项式 $(1+2x^{a_i})$ ,只要我们把多项式乘起来即可 我们考虑 $fwt$ 过程中 阅读全文
posted @ 2020-02-05 21:40 xjqxjq 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 烧菜的弱化版 把第 $i$ 个物品的生成函数写出, $F_i(x)=\sum_{j=0}^{\infty} x^{a_i \times j}=\frac{1}{1-x^{a_i}}$ 则最后的答案的生成函数 $G(x)=\prod_{i=1}^nF_i(x)$ 两边取对数,即 $\l 阅读全文
posted @ 2020-02-05 19:55 xjqxjq 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 气死我了好不容易想出dp组合数写挂? 题解写的好清楚懒得写了... 代码 #include <bits/stdc++.h> #define LL long long using namespace std; const int N=105,P=998244353,I=(P+1)>>1 阅读全文
posted @ 2020-02-05 13:37 xjqxjq 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 化式子:$$f_n=\sum_{d|n}d\sum_{i=1}^{\frac{n}{d}}\sum_{j=1}^{\frac{n}{d}}[gcd(i,j,\frac{n}{d})=1]$$$$=\sum_{d|n}d\sum_{x|\frac{n}{d}}\mu(x)(\frac{ 阅读全文
posted @ 2020-02-05 13:33 xjqxjq 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解 考虑暴力以每个点为根,如果要回到这个点的话那就是到k个点的不重路径的总和的两倍,所以再减去最远点的路径长即可,dp即可 考虑正解,发现可以换根,于是 $O(n)$ 即可 代码 #include <bits/stdc++.h> #define LL long long using na 阅读全文
posted @ 2020-02-05 13:23 xjqxjq 阅读(90) 评论(0) 推荐(0) 编辑