组合数学,推一下式子,并不难推。

  java代码

  1. import java.io.*;
  2. import java.math.BigInteger;
  3. import java.util.*;
  4. public class Main
  5. {
  6.  
  7. public static void main(String args[]) throws Exception
  8. {
  9. Scanner cin=new Scanner(System.in);
  10. int n=cin.nextInt();int m=cin.nextInt();
  11. BigInteger ans,t,tt;
  12. ans=BigInteger.valueOf(1);
  13. for (int i=1;i<=n;i++)
  14. ans=ans.multiply(BigInteger.valueOf(i));
  15. for (int i=1;i<=m;i++)
  16. ans=ans.multiply(BigInteger.valueOf(i));
  17. ans=ans.multiply(BigInteger.valueOf(2));
  18.  
  19. t=BigInteger.valueOf(1);
  20. for (int i=1;i<=n+3;i++)
  21. t=t.multiply(BigInteger.valueOf(i));
  22. for (int i=1;i<=m;i++)
  23. t=t.divide(BigInteger.valueOf(i));
  24. for (int i=1;i<=n+3-m;i++)
  25. t=t.divide(BigInteger.valueOf(i));
  26. for (int i=n;i<=n+1;i++)
  27. t=t.multiply(BigInteger.valueOf(i));
  28. t=t.divide(BigInteger.valueOf(2));
  29.  
  30. tt=BigInteger.valueOf(n+1);
  31. for (int i=1;i<=n+2;i++)
  32. tt=tt.multiply(BigInteger.valueOf(i));
  33. for (int i=1;i<=m-1;i++)
  34. tt=tt.divide(BigInteger.valueOf(i));
  35. for (int i=1;i<=n+2-m+1;i++)
  36. tt=tt.divide(BigInteger.valueOf(i));
  37.  
  38. ans=ans.multiply(t.add(tt));
  39.  
  40. System.out.println(ans);
  41. }
  42.  
  43. }

bzoj2729 [HNOI2012]排队的更多相关文章

  1. BZOJ2729:[HNOI2012]排队(组合数学)

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

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

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

  3. [BZOJ2729]:[HNOI2012]排队(组合数学)

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

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

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

  5. BZOJ2729 HNOI2012排队(组合数学+高精度)

    组合入门题.高精度入门题. #include<iostream> #include<cstdio> #include<cstdlib> #include<cs ...

  6. 【BZOJ2729】[HNOI2012]排队 组合数

    [BZOJ2729][HNOI2012]排队 Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那 ...

  7. bzoj 2729: [HNOI2012]排队

    2729: [HNOI2012]排队 Time Limit: 10 Sec Memory Limit: 128 MB Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体 ...

  8. 2729: [HNOI2012]排队

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

  9. 【bzoj2729】[HNOI2012]排队 组合数学+高精度

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

随机推荐

  1. 每日英語2013.09.09(Email常用單字)

    carbon copy 副本抄送 forward 轉交;轉寄(+to) Please check the file carried by this email for the details.細節請看 ...

  2. mapreduce作业状态一直是ACCEPTED

    搭建yarn环境后,执行 hadoop/bin/hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar ...

  3. 李洪强iOS经典面试题134-C语言

    可能碰到的iOS笔试面试题(4)--C语言   C语言,开发的基础功底,iOS很多高级应用都要和C语言打交道,所以,C语言在iOS开发中的重要性,你懂的.里面的一些问题可能并不是C语言问题,但是属于计 ...

  4. load/get延迟加载和及时加载

    load和get方法的区别: Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象. 区别在于: 如果未能发现符合条件的记录,get方法返回nul ...

  5. 继承(JAVA)

    继承是面向对象最显著的一个特性.继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 一.继承的基本语法: 在Java语言中,用extends关键字表示一个类继承了另 ...

  6. [LintCode] Reverse Integer 翻转整数

    Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer). ...

  7. java web(三) Tomcat虚拟目录映射方式

    Tomact服务器虚拟目录的映射方式 web应用开发好后若想被外界访问,需要将web应用所在的目录交给web服务器管理,这个过程称为虚拟目录的映射. 方式一:在server.xml文件的host元素中 ...

  8. rdp爆破工具 Fast RDP Brute

    http://stascorp.com/load/1-1-0-58 Fast RDP Brute dservers.ru/wp-content/uploads/2013/11/frdpb2.zip

  9. CloudSim样例分析

    自带八个样例描述: cloudsim-2.1.1\examples目录下提供了一些CloudSim样例程序,每个样例模拟的环境如下: (1)CloudSimExample1.Java:创建一个一台主机 ...

  10. NeuSoft(4)编写字符设备驱动

    1.要求:实现简单的字符设备驱动程序 2.源码清单 #include <linux/module.h> #include <linux/types.h> #include &l ...