/*
数学题0.0
最后答案:A(n,n)*A(n+1,2)*A(n+3,m)+A(n,n)*C(m,1)*A(2,2)*C(n+1,1)*A(n+2,m-1);
简单解释一下
+之前的很显然 先排男生 然后老师插空 然后女生插空 显然符合条件
但仔细一想会发现少算了一部分 就是 老师 女生 老师 的情况
在单独考虑着一种 先选夹在中间的女生(C(m,1)) 然后老师换位置 A(2,2)
然后安排这个(C(n+1,1)) 然后剩下的女生插空
注意不能把 老师 女生 老师 和其他女生看成一样的 因为这个具有特殊性
然后就是高精了 最简单的 连压位都不用
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
int n,m,a[],b[],c[],ans[],l1,l2,l;
void get_na()
{
for(int i=;i<=n;i++)
{
for(int j=;j<=l1;j++)
a[j]=a[j]*i;
for(int j=;j<=l1;j++)
if(a[j]>=)
{
a[j+]+=a[j]/;
a[j]=a[j]%;
}
while(a[l1+])
{
l1++;
a[l1+]+=a[l1]/;
a[l1]=a[l1]%;
}
}
}
void get_nb()
{
for(int i=;i<=l1;i++)
b[i]=a[i];
l2=l1;
}
void Mul1(int x)
{
for(int i=;i<=l1;i++)
a[i]=a[i]*x;
for(int i=;i<=l1;i++)
if(a[i]>=)
{
a[i+]+=a[i]/;
a[i]=a[i]%;
}
while(a[l1+])
{
l1++;
a[l1+]+=a[l1]/;
a[l1]=a[l1]%;
}
}
void Mul2(int x)
{
for(int i=;i<=l2;i++)
b[i]=b[i]*x;
for(int i=;i<=l2;i++)
if(b[i]>=)
{
b[i+]+=b[i]/;
b[i]=b[i]%;
}
while(b[l2+])
{
l2++;
b[l2+]+=b[l2]/;
b[l2]=b[l2]%;
}
}
void Add()
{
l=max(l1,l2);
for(int i=;i<=l;i++)
c[i]=a[i]+b[i];
for(int i=;i<=l;i++)
if(c[i]>)
{
c[i+]++;c[i]=c[i]%;
}
while(c[l+])l++;
}
int main()
{
scanf("%d%d",&n,&m);
a[]=;l1=;
b[]=;l2=;
get_na();
get_nb();
Mul1(n);
Mul1(n+);
for(int i=n+;i>=n+-m+;i--)
Mul1(i);
Mul2(*m);
Mul2(n+);
for(int i=n+;i>=n+-m++;i--)
Mul2(i);
Add();
for(int i=l;i>=;i--)
printf("%d",c[i]);
return ;
}

codevs 1994 排队 排列组合+高精度的更多相关文章

  1. BZOJ 2729: [HNOI2012]排队 排列组合 + 高精度

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

  2. 蓝桥杯 问题 1110: 2^k进制数 (排列组合+高精度巧妙处理)

    题目链接 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2 ...

  3. Cogs 604.方程(排列组合+高精度)

    方程 ★☆ 输入文件:equationz.in 输出文件:equationz.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] hyc 碰到了一个难题,请你来帮忙解决. 对于不 ...

  4. 【noi 2.6_9288】&【hdu 1133】Buy the Ticket(DP / 排列组合 Catalan+高精度除法)

    题意:有m个人有一张50元的纸币,n个人有一张100元的纸币.他们要在一个原始存金为0元的售票处买一张50元的票,问一共有几种方案数. 解法:(学习了他人的推导后~) 1.Catalan数的应用7的变 ...

  5. ACM~排列组合&amp;&amp;hdu例子

    排列组合是数学中的一个分支.在计算机编程方面也有非常多的应用,主要有排列公式和组合公式.错排公式.母函数.Catalan Number(卡特兰数)等. 一.有关组合数学的公式 1.排列公式   P(n ...

  6. [BZOJ1005]Prufer数列+排列组合

    一棵树的Prufer数列 每次在剩下的树中找到标号最小的叶子节点(对于无根树而言即是度数为1的节点),删去. 同时将其父节点(即与其相连的唯一点)加入Prufer数列当中. 一个Prufer数列所对应 ...

  7. BZOJ 1005 [HNOI2008]明明的烦恼 purfer序列,排列组合

    1005: [HNOI2008]明明的烦恼 Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少 ...

  8. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

  9. .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)

    今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinatorics组件的使用情况,其实这个组件我5年前就开始用了,非常方便,麻雀虽小五脏俱全.所以一直非常喜欢,才写了几 ...

随机推荐

  1. openerp service install

    cp  openerp.init  to   /etc/init.d/openerp update-rc.d   openerp default PATH=/sbin:/usr/sbin:/bin:/ ...

  2. Why your Games are Unfinished, and What To Do About It (转)

    So, you've got a new game idea, and it's going to change what everyone knows about the genre! Great! ...

  3. Unity NGUI 网络斗地主 -制作图集 Atlas

    Unity NGUI 网络斗地主 -制作图集 Atlas by @杨海龙 开发环境   Win7+Unity4.2.1f4+NGUI 3.0.4版本 这一节告诉大家如何制作(图集)Atlas! 1.首 ...

  4. codeforces C. Xor-tree

    http://codeforces.com/problemset/problem/430/C 题意:在一棵上有n个节点,有n-1条边,在每一个节点上有一个值0或1,然后给你一个目标树,让你选择节点,然 ...

  5. Automated Telephone Exchange

    Time Limit: 3000MS Memory limit: 65536K 题目描述In St Petersburg phone numbers are formatted as “XXX–XX– ...

  6. Java实现Qt的SIGNAL-SLOT机制

    SIGNAL-SLOT是Qt的一大特色,使用起来十分方便.在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器.被监听对象中保存有Listener的列表,当相关事件 ...

  7. Oracle 搜集统计信息的存储过程

    DECLARE CURSOR STALE_TABLE IS SELECT OWNER, SEGMENT_NAME, CASE WHEN SIZE_GB < 0.5 THEN 30 WHEN SI ...

  8. XFS文件系统功能解析

    XFS文件系统是作为一个日志文件系统开发,采用B-树平衡树算法来尽快地分配数据.主要的设计目的之一是支持大型文件和大型文件系统.当前,能够支持的最大文件大小是2艾字节,最大文件系统大小为8艾字节. X ...

  9. Qt入门(10)——调试技术

    命令行参数当你运行Qt程序时,你可以指定几个命令行参数来帮助你调试.-nograb 应用程序不再捕获鼠标或者键盘.当程序在Linux下运行在gdb调试器中时这个选项是默认的.-dograb 忽略任何隐 ...

  10. 数据结构(左偏树,可并堆):BNUOJ 3943 Safe Travel

    Safe Travel Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class ...