上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 89 下一页
摘要: "传送门" 先考虑一个贪心,对于一条边来说,如果当前这个序列中在它的子树中的元素个数为奇数个,那么这条边就会被一组匹配经过,否则就不会 考虑反证法,如果在这条边两边的元素个数都是偶数,那么至少有两组匹配经过它,那么把这两条路径都删去这条边可以更优。如果两边是奇数,一定至少有一条路径经过它,去掉这组匹 阅读全文
posted @ 2019-01-18 10:49 bztMinamoto 阅读(192) 评论(0) 推荐(0) 编辑
摘要: "传送门" 对于每一个元素,我们只要能求出它的出现次数$sum$,那么每个元素的贡献都是一样的,最终的答案为$sum\times \sum_{i=1}^n w_i$ 那么分别讨论 如果这个元素自己单独一个集合,那么方案数为$S(n 1,k 1)$(这个$S$是第二类斯特林树),也就是讨论其它的$n 阅读全文
posted @ 2019-01-17 22:13 bztMinamoto 阅读(184) 评论(0) 推荐(0) 编辑
摘要: "传送门" 咱用的是拆系数$FFT$因为咱真的不会三模数$NTT$…… 简单来说就是把每一次多项式乘法都改成拆系数$FFT$就行了 如果您还不会多项式求逆的左转 "这里" 顺带一提,因为求逆的时候要乘两次,两次分开乘,否则会像咱一样炸精度 //minamoto include define R re 阅读全文
posted @ 2019-01-17 21:36 bztMinamoto 阅读(232) 评论(0) 推荐(0) 编辑
摘要: "传送门(uoj)" "传送门(洛谷)" ~~全世界都会子集卷积就咱不会……全世界都在写$FMT$就咱只会$FWT$……~~ 前置芝士 或运算$FWT$或者$FMT$ 左转洛谷模板区,包教包会 子集卷积 定义:对于两个集合幂级数$F,G$,它们的子集卷积$H$定义为$$H_S=\sum_{T\sub 阅读全文
posted @ 2019-01-17 20:28 bztMinamoto 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 题面 题解 幸好咱不是在晚上做的否则咱就不用睡觉了……都什么年代了居然还会出高精的题…… 先考虑如果暴力怎么做,令$G(x)$为$F(n,k)$的生成函数,那么不难发现 \(G^R(x)=\prod_{i=1}^n(x+i)\) 也就是说如果把$G(x)$的系数反过来就是后面那个东西,所以对于$n\ 阅读全文
posted @ 2019-01-17 17:10 bztMinamoto 阅读(315) 评论(0) 推荐(0) 编辑
摘要: "传送门" 这里用的拆系数$FFT$(咱实在是不会三模……) 就是说把$F_i$和$G_i$中的每一个数字都拆成$k\times M+b$的形式,这里$M$可以取$2^{15}=32768$ 于是把$F$拆出来的两个数列和$G$拆出来的两个数列分别相乘,最终对应的系数要乘上$1,2^{15},2^{ 阅读全文
posted @ 2019-01-17 14:30 bztMinamoto 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 题面 题解 这种题目就是要好好推倒 我们枚举最小的数是哪一个,那么答案就是$$Ans=\sum_{i=1}^nT^i{n i\choose k 1}$$ 因为有$$\sum_{i=p}^n{n i\choose k 1}={n p+1\choose k}$$ 原式太难算了,我们可以先计算$\sum_ 阅读全文
posted @ 2019-01-17 12:49 bztMinamoto 阅读(282) 评论(0) 推荐(0) 编辑
摘要: "传送门" "题解" //minamoto include define R register define ll long long define fp(i,a,b) for(R int i=a,I=b+1;iI; i) define go(u) for(int i=head[u],v=e[i]. 阅读全文
posted @ 2019-01-16 20:54 bztMinamoto 阅读(253) 评论(0) 推荐(0) 编辑
摘要: "传送门" 果然$dp$题就没咱啥事儿了 设$f_{i,j}$为长度为$i$的区间,所有元素的值不超过$j$的总的疲劳值 如果$j$没有出现过,那么$f_{i,j}=f_{i,j 1}$ 如果$j$出现过,我们考虑枚举$j$第一次出现的位置$k$,设包含那个位置的长度为$m$的区间个数为$c$,那么 阅读全文
posted @ 2019-01-16 20:16 bztMinamoto 阅读(201) 评论(0) 推荐(0) 编辑
摘要: "传送门" 不难看出,如果两个子集异或和相等,那么它们的并集异或和为$0$ 那么题目就转化为了求将异或和为$0$的子集分成两个子集的方案数,那么设该子集的大小为$|S|$,那么把它分成两个的方案数就是$2^{|S|}$ 可以看做是每个元素的贡献是$2$,然后一个集合的贡献就是其中所有元素的贡献乘起来 阅读全文
posted @ 2019-01-16 19:05 bztMinamoto 阅读(197) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 89 下一页
Live2D