有高为1,2,3,...,n的杆子各一根排成一行。从左边能看到l根,从右边能看到r根,求有多少种可能。 (l,r <= 200,n <= 200000)

给出T 组数据 (T <= 500000)  对于每一组数据输出可能的个数,为避免写高精,将答案模 1e9 + 7 (它为质数,但似乎没蛋用)

关于 O(TnLR) 或 O(nMAX(L,R)) 预处理,O (n) 查询的解法已有,现在我来安利安利汪神的无敌解法,我现在只服汪神!!!

先说答案,答案为s(n-1,l+r-2) * C(l + r - 2,l - 1) (s为第一类斯特林数,c为组合数)

证明

图中画出的柱子是能被看出的,每根柱子后面一定有比它小的柱子,但这些柱子随便怎么排都无所谓,所以对于一根柱子来说,设它和它背后比它低的柱子个数为k。

那么比它低的柱子有k-1个,排列方式为(k-1)!

设能被看到的柱子和后面比它低的柱子为一个集合,那么全场共有(l + r - 2) 个集合(忽略最高的柱子)。只要我们找出了这(l + r - 2)个集合,那么就一定能构成上图(每个集合最高的柱子作为这个集合的代表)

那么我们找出这(l+r-2)个不同的集合的方案数为s(n-1,l+r-2)。为什么是这样呢?

显然,对于一个集合而言,如果其他l+r-3个集合不变,那么他就一定会变,因为是找圆排列,它只会变(k-1)! 次(k为此集合大小)。。。

刚好这个集合除了代表元素也只有(k-1)!种排列,所以是正确的。。。(我不知道之前的算不算口胡,汪神说只可意会,是非完美证明)

我们在选出的(l+r-2)个中选出l-1个作为左边的就好了 因此就乘上组合数

转载于:https://www.cnblogs.com/dcoi-king/p/5353658.html

[数学最安逸][UVa1638改编][第一类斯特林数+组合数]杆子的排列相关推荐

  1. 【2019雅礼集训】【CF 960G】【第一类斯特林数】【NTT多项式】permutation

    目录 题意 输入格式 输出格式 思路 代码 题意 找有多少个长度为n的排列,使得从左往右数,有a个元素比之前的所有数字都大,从右往左数,有b个元素比之后的所有数字都大. n<=2*10^5,a, ...

  2. 洛谷P4609 [FJOI2016]建筑师 【第一类斯特林数】

    题目链接 洛谷P4609 题解 感性理解一下: 一神带\(n\)坑 所以我们只需将除了\(n\)外的\(n - 1\)个元素分成\(A + B - 2\)个集合,每个集合选出最大的在一端,剩余进行排列 ...

  3. 第一类斯特林数学习记录

    最近做题有时会碰到斯特林数(Stirling数),就觉得好好的学习一番,于是呢,写下这篇博客,来记录一些知识 简单介绍 第一类斯特林数表示表示将 n 个不同元素构成m个圆排列的数目.--百度百科 第一 ...

  4. 建筑师 第一类斯特林数

    文章目录 目录 题意: 思路: 目录 题意: 给你一个nnn的排列,排列中的数代表他的高度,问你有多少个排列能使得从左边能看到aaa个建筑,从右边能看到bbb个建筑. 如果建筑iii左边没有任何比他高 ...

  5. [HDU 3625] Examining the Rooms(第一类斯特林数)

    Examining the Rooms problem solution code problem hdu 3625 solution 之前考试有一道题:最多砸开 kkk 扇门,采取最有操作,求把 n ...

  6. CF960G-Bandit Blues【第一类斯特林数,分治,NTT】

    正题 题目链接:https://www.luogu.com.cn/problem/CF960G 题目大意 求有多少个长度为nnn的排列,使得有AAA个前缀最大值和BBB个后缀最大值. 0≤n,A,B≤ ...

  7. 【BJOI2019】勘破神机(下降幂转自然幂)(第一类斯特林数)(特征方程)

    传送门 题解: 完全自己推出来的第一道数学神题. 首先我们知道宽度为222的部分方案数是斐波那契数列. 设fnf_nfn​表示长度为nnn的时候方案数,题目要求的实际上是这个东西: ∑n=lr(fnk ...

  8. zoj3344 第一类斯特林数+java大数

    题意:有个游戏,两个人玩.有n个卡片,洗牌后放入编号为1到n的盒子里,然后两个人轮流做如下操作,拿出盒子中编号最小的卡片k,然后再去编号为k的盒子中拿出卡片,依次类推,直到没有卡片可拿为止.拿走最后一 ...

  9. 第一类Stirling数(第一类斯特林数)

    第一类Stirling数(第一类斯特林数) 定义 第一类Stirling数表示把nnn个不同元素构成mmm个圆的排列方案数,写作s(n,m)s(n,m)s(n,m). 根据正负性分为无符号第一类Sti ...

最新文章

  1. MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)
  2. NAT+VLAN+CHAP实验配置(一)
  3. 无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序
  4. Android 操作系统为什么不启用swap?
  5. runloop - CFRunLoopObserverRef
  6. c语言将十进制转化为二进制算法_base64算法初探即逆向分析
  7. 一个逼格很低的appium自动化测试框架
  8. 双向链表的创建和相关操作
  9. RTX5 | 内存池01 - 内存池的使用
  10. Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比
  11. KubeEdge 1.1 部署
  12. SQL Developer显示多个工作表
  13. Struts1 页面提交到ActionForm,form为null
  14. 华为云怎么修改服务器密码,云服务器登陆密码如何修改
  15. TensorFlow - 正弦曲线
  16. 飚王硬盘盒怎么样_四款USB 3.0硬盘盒完全拆解_DIY攒机-中关村在线
  17. Bitwise Exclusive-OR Sequence
  18. Swift 5.6 特性
  19. (2/3) plsql使用技巧
  20. 各大巨头纷纷出手 数据中心市场硝烟弥漫

热门文章

  1. void ,NULL与0的区别联系
  2. Javascript---Immediately-Invoked Function Expression (IIFE)立即执行的函数表达式
  3. elk docker
  4. 【左偏树】【P3261】 [JLOI2015]城池攻占
  5. oh-my-zsh官方教程
  6. compress命令--Linux命令应用大词典729个命令解读
  7. Spring Boot Servlet
  8. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表
  9. 2sum、3sum、4sum以及任意连续的数的和为sum、任意连续或者不连续的数的和为sum...
  10. Fast Image Cache – iOS 应用程序高性能图片缓存