注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

ydc的博客

 
 
 

日志

 
 

bzoj 2729(hnoi 2012) 排队queue  

2013-02-09 16:41:18|  分类: bzoj |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
那啥题解神马的都放在注释里了
我把除法去掉了
压了6位吧
于是bzoj上就怒排rank2了
/*
2个老师
n个男生
m个女生
老师不能相邻
女生不能相邻
只算女生不相邻的:
(n+2)!*C(n+3,m)*m! = (n+2)!*(n+3)!/(n+3-m)!=(n+2)!*(n+4-m)*(n+5-m)...*(n+3) 
女生不相邻老师相邻:
2*(n+1)!*C(n+2,m)*m! = 2*(n+1)!*(n+2)!/(n+2-m)!=2*(n+1)!*(n+3-m)*(n+4-m)...(n+2)
*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define MOD 1000000
#define LEN 2000
using namespace std;
int n,m;
struct Big_numbers
{
    int digit[LEN],len;
    void operator *= (int p)
    {
        int jinwei=0;
        for(int i=1;i<=len;i++)
        {
            digit[i]=digit[i]*p+jinwei;
            jinwei=digit[i]/MOD;
            digit[i]=digit[i]-digit[i]/MOD*MOD;
        }
        if(jinwei)  digit[++len]=jinwei;
    }
    void operator -= (const Big_numbers &b)
    {
        int tuiwei=0;
        for(int i=1;i<=len;i++)
        {
            digit[i]=digit[i]+MOD-b.digit[i]-tuiwei;
            tuiwei=(digit[i]/MOD)^1;
            if(digit[i]>=MOD)  digit[i]-=MOD;
        }
        for(;digit[len]==0&&len>1;len--);
    }
    void print()
    {
        printf("%d",digit[len]);
        for(int i=len-1;i>=1;i--)
        {
            for(int j=MOD/10;j>=10&&digit[i]<j;j/=10)
                printf("0");
            printf("%d",digit[i]);
        }
        printf("\n");
    }
}ans,sum;
void work()
{
    ans.len=1,ans.digit[1]=1;
    for(int i=1;i<=n+2;i++)
        ans*=i;
    for(int i=n+4-m;i<=n+3;i++)
        ans*=i;
    sum.len=1,sum.digit[1]=2;
    for(int i=1;i<=n+1;i++)
        sum*=i;
    for(int i=n+3-m;i<=n+2;i++)
        sum*=i;
    ans-=sum;
}
int main()
{
    scanf("%d %d",&n,&m);
    work();
    ans.print();
    return 0;
}


  评论这张
 
阅读(518)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017