04 2023 档案
摘要:# B 发现要从集合中取子集,即取的数不能重复这个限制比较抽象,于是考虑容斥,先计算可重复的情况:(根据计算第二类斯特林数的启示,在可重复时,可直接按照k个数有标号考虑,去重之后直接除掉阶乘) 如果,那么前面个数任取,最后一个数可以唯一确定最终的异或和。 从高位往低位,确
阅读全文
摘要:G 容斥完之后发现要求一个m次多项式的n次方,并且得到项。 原本很sb地直接套了个多项式LnExp上去(即使知道大概率过不了),然后狂TLE。。。 其实但凡从常数的角度分析,Exp的常数有14倍,已经比大了,所以不如写快速幂,然后写着就会发现卷积的长度总和其实是
阅读全文
摘要:缩点(强连通分量) 点击查看代码 const int N=1e5+5,inf=1e9; vector<int> a[N]; stack<int> stk; bool vis[N],instk[N]; int dfn[N],low[N],col[N],w[N]; // co:染色结果,w:点权 vec
阅读全文
摘要:A - Leading 1s 签到,常用的计数方法,枚举至少有几个前导1,符合条件的个数算1的贡献即可。 点击查看代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=18; ll n,p
阅读全文
摘要:剩余类与完全剩余系 剩余类 定义: :形如的所有整数组成的集合 :模数的剩余类 完全剩余系 定义: 1.从剩余类的每类中各取一个数,组成的个数称为模数的一组完全剩余系。 证明……是一组完全剩余系/通过完全剩余系:两两对
阅读全文
摘要:题目链接 原本看着式子直接晕了,觉得是高深的硬核数论,于是放弃(然后E也没想出来,sad) 关键的思路在于,考虑构造由**(a,b,c)->(ta,tb,tc)**这样的求解方式。 在看到这个做法后,会发现它很好地利用了题目齐次的性质;至于如何由齐次式想到这个做法,可能需要足够的天赋或者经验吧(悲)
阅读全文
摘要:题意 给定一个位置x,求在分别取1-n的所有情况下,对应笛卡尔树不同的排列个数。 题解 先不考虑,列出转移式,发现是卡特兰数。 进一步地,可以把排列对应笛卡尔树意义下的不同构数,和二叉树不同构数等价联系起来:因为对于任何一个二叉树,按照中序遍历在上面填1-n,就可以唯一确定一个排
阅读全文