高精度+排列组合。

如果计算老师能挨在一起的情况 有 (n+2)! * A(n+3,m)

老师一定挨宰一起的情况 有 2*(n+1)!*A(n+2,m)。

相减就是答案。

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn = 3000;
const int mod = 10000;struct bigint { int a[maxn+10];int& operator[] (int x) {return a[x];    }bigint operator * (int x) {bigint c;for(int i=1;i<=maxn;i++) {c[i]+=a[i]*x;c[i+1]+=c[i]/mod;c[i]=c[i]%mod;}return c;}bigint operator - (bigint b) {bigint c;for(int i=1;i<=maxn;i++) {c[i]+=a[i]-b[i];if(c[i]<0) {c[i]+=mod; c[i+1]--;}}return c;}void print() {int k;for(k=maxn;k>=1;k--) if(a[k]) break;printf("%d",a[k]);for(int i=k-1;i>=1;i--) printf("%04d",a[i]);    printf("\n");}bigint() {memset(a,0,sizeof(a));    }
}t1,t2;int n,m;int main() {scanf("%d%d",&n,&m);    t1[1]=1; t2[1]=2;for(int i=1;i<=n+2;i++) t1=t1*i;for(int i=n+4-m;i<=n+3;i++) t1=t1*i;for(int i=1;i<=n+1;i++) t2=t2*i;for(int i=n+3-m;i<=n+2;i++) t2=t2*i;t1=t1-t2;t1.print();return 0;
}

转载于:https://www.cnblogs.com/invoid/p/5639275.html

bzoj2729: [HNOI2012]排队相关推荐

  1. [bzoj2729][HNOI2012]排队 题解 (排列组合 高精)

    Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不 ...

  2. BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】

    题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m! ...

  3. 2729: [HNOI2012]排队

    2729: [HNOI2012]排队 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 957  Solved: 449 [Submit][Status ...

  4. [HNOI2012]排队

    题目描述 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入输 ...

  5. P3223 [HNOI2012]排队(高中排列组合)

    传送门 题意 nnn个男生,mmm个女生,222个老师排队 女生和女生不能相邻,老师和老师不能相邻,问方案数. 考虑到老师只有两个,所以可以对老师来讨论. Ⅰ.\color{Red}Ⅰ.Ⅰ.两只老师间 ...

  6. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  7. 数论三之排列组合Ⅱ——Virus Tree 2,RGB Coloring,123 Triangle,排列计数,排队,卡农

    丝且人一口 Virus Tree 2 description solution code RGB Coloring description solution code 123 Triangle des ...

  8. # HNOI2012 ~ HNOI2018 题解

    HNOI2012 题解 [HNOI2012]永无乡 Tag:线段树合并.启发式合并 联通块合并问题. 属于\(easy\)题,直接线段树合并 或 启发式合并即可. [HNOI2012]排队 Tag:组 ...

  9. 【青少年编程】【蓝桥杯】排队购票

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

最新文章

  1. python程序的执行顺序_Python方法中的执行顺序
  2. 图片格式之YUV420 转RGB格式(含代码)
  3. C#中的深度学习:了解神经网络架构
  4. python dataframe排序_python – Pandas DataFrame排序忽略了这种情况
  5. vba excel 取得chart保存图片_保存Excel中的图片
  6. c语言 入字符要中文状态吗,常见的HTTP状态码深入理解
  7. CF991A If at first you don't succeed...
  8. rk3568 sensor调试记录
  9. 音乐播放小窗口html,jQuery+html5迷你网页音乐播放器代码
  10. C++ primer 5th 习题之10.13
  11. 攻防世界逆向高手题之crazy
  12. 创业找市场——从逛街开始(转)
  13. 破解版XMind图文安装教程
  14. 图文介绍--光纤接口类型
  15. Python爬虫案例:爬取携程评论
  16. Citrix联机插件配置管理器:找不到满足所有锁定要求的值
  17. acill排序 java_java – 如何根据ascii值对ArrayList的元素进行排序?
  18. 【C#视频】——循环
  19. tdd 私有方法_使用TDD方法构建自定义的Twig过滤器
  20. C++游戏服务器开发视频教程

热门文章

  1. liferay在sturs2中传参数
  2. Canvas设置样式无效导致圆变成椭圆的问题研究剖析
  3. nginx开启core dump文件
  4. 64位环境0和NULL的区别
  5. #include *.c文件的妙用
  6. 20-forEach循环语句
  7. C#线程的使用和测试
  8. python扫盲系列-(2)
  9. 机器学习模型在携程海外酒店推荐场景中的应用
  10. 聊聊高并发(六)实现几种自旋锁