为什么要做这题呢,当然是有用啊qwq 首先我们考虑非常经典的式子: \[x^{\overline{n}}=\sum_i \left[^n_i\right] x^i\] 然后上倍增: \[x^{\overline{2n}}=x^{\overline{n}}(x+n)^{\overline{n}}\] 相当于我们已经有了一个多项式\(f(x)\),现在要求另一个多项式\(f(x+c)\) \[f(x+c)=\sum_i f_i(x+c)^i\] \[=\sum_i x_i\sum_j f_j\tim…
传送门 首先,有 \[ x^{\overline n}=\sum_k\begin{bmatrix}{n\\ k}\end{bmatrix}x^{k}\\ \] 那么我们只需要求出\(x^{\overline n}\)即可,考虑倍增 \[ x^{\overline 2n}=x^{\overline n}(x+n)^{\overline n} \] 假设我们现在已经求出了\(x^{\overline n}\),考虑如何求出\((x+n)^{\overline n}\) 开始颓柿子 \[ \begin…
传送门 解题思路 好神仙的思路,首先一种排列中按照最高点将左右分开,那么就是要在左边选出\(a-1\)个,右边选出\(b-1\)一个,这个如何计算呢?考虑第一类斯特林数,第一类斯特林数是将\(n\)个数分成\(m\)个圆排列的方案数,在这道题中,假如划分成圆排列之后,将圆排列从最大值处断开可以造成\(1\)的贡献.那么答案就为\(s(n-1,a+b-2)*C(a+b-2,a-1)\). 代码 #include<iostream> #include<cstdio> #include&…
目录 参考资料 前言 暴力 nlog^2n的做法 nlogn的做法 代码 参考资料 百度百科 斯特林数 学习笔记-by zhouzhendong 前言 首先是因为这道题,才去研究了这个玩意:[2019雅礼集训][第一类斯特林数][NTT&多项式]permutation 感觉这个东西非常的...巧妙. 暴力 第一类斯特林树S(n,k)就是将n个数字划分为k个不相区分的圆排列的方案数(即忽略顺序). 首先,第一类斯特林数有一个人尽皆知的\(O(n^2)\)递推式: \[S(n,k)=S(n-1,k-…
Find the Permutations Sorting is one of the most used operations in real life, where Computer Science comes into act. It is well-known that the lower bound of swap based sorting is nlog(n). It means that the best possible sorting algorithm will take…
题目 CF960G 做法 设\(f(i,j)\)为\(i\)个数的序列,有\(j\)个前缀最大值的方案数 我们考虑每次添一个最小数,则有:\(f(i,j)=f(i-1,j)+(i-1)*f(i-1,j-1)\),显然这是第一类斯特林数 从而我们得到一个朴素的答案:\[Ans=\sum\limits_{i=1}^{n}f_{i,a-1}×f_{n-1-i,b-1}×C_{n-1}^i\] 理解:枚举\(i+1\)为最大值添的位置,则已限制了前缀最值个数及后缀最值个数,然后再乘上前半部分所填的数 观…
正题 题目链接:https://www.luogu.com.cn/problem/CF960G 题目大意 求有多少个长度为\(n\)的排列,使得有\(A\)个前缀最大值和\(B\)个后缀最大值. \(0\leq n,A,B\leq 10^5\) 解题思路 显然的是把最大的数两边然后左边的是前缀最大值,右边的是前缀最小值. 然后考虑两个前缀最大值之间其实可以插任何数字,但是最大的一定要排在前面. 其实就是这些数字分成若干个圆排列的个数,就是第一类斯特林数. 枚举左右两边的数量就有 \[\sum_{…
洛谷题面传送门 神仙题(为什么就没能自己想出来呢/zk/zk) 这是我 AC 的第 \(2\times 10^3\) 道题哦 首先考虑 \(m=2\) 的情况,我们首先可以想到一个非常 trivial 的 DP:\(dp_i\) 表示填好前 \(i\) 列的方案数,那么第 \(i\) 列显然有横着放和竖着放两种可能,方案数分别是 \(dp_{i-2}\) 和 \(dp_{i-1}\),因此我们有 \(dp_i=dp_{i-2}+dp_{i-1}\),边界条件 \(dp_0=1\),显然这个递推式…
Count the Buildings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1249    Accepted Submission(s): 408 Problem Description There are N buildings standing in a straight line in the City, numbere…
Examining the Rooms Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1138    Accepted Submission(s): 686 Problem Description A murder happened in the hotel. As the best detective in the town, yo…