随笔分类 - 其他 - 思维题
摘要:好神仙的多项式啊! 需要用到:prufer序列,生成函数,多项式求逆,多项式取 ln,多项式 exp..... code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <str
阅读全文
摘要:十分有趣的多项式推式子题,多多积累. code: #include <cmath> #include <cstring> #include <algorithm> #include <cstdio> #include <string> #define ll long long #define ull
阅读全文
摘要:这道题在家里仔细想想还是挺好想的... 考场的时候还是要镇定,给每道题要安排足够的思考时间. code: #include <cstdio> #include <cstring> #include <vector> #include <string> #include <algorithm> #de
阅读全文
摘要:标签:生成函数,多项式exp 有 $n$ 个点,每个点有一个度数 $v[i]$,代表如果选择这个点就必须满足这个点与 $v[i]$ 条边相连. 求:有多少种选法,使得所选集合中的点能构成一棵树. 如果 $m$ 个点能生成一颗树,那么一定满足 $\sum v_{i}=2\times (m-1)$ 这是
阅读全文
摘要:标签:指数型生成函数,多项式求逆 感觉这个生成函数还是蛮有难度的. 每一层的指数型数的生成函数 $F(x)=\sum_{i=1}^{\infty} \frac{1}{i!}x^i$ 那么所有层的生成函数就是 $G(x)=\sum_{i=1}^{\infty} F^i(x)$ 我们注意到因为这道题划分
阅读全文
摘要:标签:生成函数,多项式 exp 题意:一共有 $n$ 个物品,每件物品体积为 $v_{i}$,数量为 $10^5$,求:装满一个容量为 $m$ 的背包有多少种不同方案. 比较友好的生成函数,并不是很难推导(似乎有些套路QAQ) 对于每一件物品列生成函数 $F_{i}(x)=\sum_{i=0}^{\
阅读全文
摘要:题意:有红球,蓝球,绿球,黄球,其中红球和绿球都只能选择偶数个,求选择 $n$ 个球摆成一排有多少种方案数. 我们构造关于这些球的指数型生成函数 $F(x)=\sum_{i=0}^{\infty} \frac{a_{i}}{i!}x^i$ 其中 $a_{i}$ 表示选择 $i$ 个球的不同排列数.
阅读全文
摘要:求:$n$ 个点的二叉树叶子个数期望. 设 $f_{n}$ 表示 $n$ 个点所有不同的二叉树叶子总个数,$g_{n}$ 表示 $n$ 个点不同的二叉树个数. 则有 $ans=\frac{f_{n}}{g_{n}}$ 有 $g_{n}=\sum_{i=0}^{n-1}g_{i}g_{n-i-1}$
阅读全文
摘要:套路:对于这种计算所有情况价值和的问题计算每一个点对答案的贡献. 我们发现,位置 $i$ 能对答案贡献 $val[i]$,当且仅当 $i$ 是前缀最大值,且 $i$ 不等于序列中最大元素. 我们不妨考虑哪些点大于等于 $val[i]$ 的位置,那么 $val[i]$ 能产生贡献的话显然要求 $i$
阅读全文
摘要:这个还是比较简单的. 将 $x$ 质因数分解,然后依次考虑每个质因子的贡献就行了,贡献是一个组合. code: #include <cstdio> #include <algorithm> #define N 2000006 #define ll long long #define mod 1000
阅读全文
摘要:这个题的思路非常神啊,感觉不太好理解... code: #include <cstdio> #include <algorithm> #include <cstring> #include <string> #define N 100006 #define ll long long using na
阅读全文
摘要:复习一下线性基 ~ code: #include <cmath> #include <vector> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #define N 500008 #defin
阅读全文
摘要:题意:给定一颗树,要求每个点的点权范围是 $[1,D]$ 且权值不大于父亲,求方案数. 显然,即使 $D$ 再大,$n$ 个点也最多只会取到 $n$ 个值. 令 $f[x][i]$ 表示以 $x$ 为根的子树中点 $x$ 取到权值 $i$ 的方案数. 令 $s[x][i]$ 表示 $f[x][i]$
阅读全文
摘要:挺厉害的一道大数据结构题. 由于 LCT 是维护树的形态的,所以说不支持翻转操作. 而在维护序列时 splay 是支持区间翻转的. 所以,我们对于 LCT 中每一个重链都维护一个 splay(这个不同于 LCT 中的 splay) 由于重链是一个序列,所以是支持序列的区间翻转的. 那么我们的翻转,链
阅读全文
摘要:朴素的DP:$f[i][j]$ 表示选了 $i$ 个数,异或值为 $j$ 的方案数. 转移:$f[i][j]=\sum_{i=1}^{m}f[i-1][k]\times isprime[p]$($p$ 异或 $k$ 等于 $j$) 如果 $n$ 比较小的话可以直接进行 FWT 优化 DP. 然而,这
阅读全文
摘要:有一个 $n$ 行 $m$ 列的表格,每个元素都是 0/1,每次操作可以选择一行或一列,将 0/1 翻转,即 0 换为 1,1 换为 0. 求:经过若干次操作后,表格中最多有多少个 1. 数据范围:$1\leqslant n \leqslant 20,1\leqslant m \leqslant 1
阅读全文
摘要:令 $f[x][j]$ 表示以 $x$ 为根的子树,选出连通块的异或值为 $j$ 的方案数. 然后有 $f[x][j]=f[x][j]+\sum_{i\oplus k=j} f[x][i] \times f[son][k]$. 其中,$\oplus$ 为异或符号. 求解这个东西显然可以用 $FWT$
阅读全文
摘要:Description 题解: 随便给定一个括号序列,最终一定能表示成 $..)))))))((((...$ 这种形式. 那么,这个时候答案就是左括号数量/2+右括号数量/2(都是向上取整) 所以,我们考虑用 $Splay$ 来维护这种情况下左括号和右括号的数量. 这里的那个 $swap$ 不是镜面
阅读全文
摘要:有一个长度为 $m$ 的整数序列 $c$,初始值都是 0 还有一个长度为 $n$ 的操作序列,第 $i$ 个元素用三元组 $(l_{i},r_{i},v_{i})$ 描述,代表将 $c[l_{i}] \sim c[r_{i}]$ 都赋值为 $v_{i}$ 有 $q$ 个询问,第 $i$ 次询问让你求
阅读全文
摘要:有 $2^n$ 名选手,编号为 $1$ 至 $2^n$. 现在这 $2^n$ 名选手将进行 $n$ 轮淘汰赛,决出胜者. 若 $x<y$,则 $x$ 能战胜 $y$. 但是有 $m$ 个例外,1 号选手会输给这 $m$ 个选手,问有多少种初始排列方式使得 $1$ 号点能取得胜利. (每次是 2i v
阅读全文

浙公网安备 33010602011771号