当前位置: 首页 > news >正文

排列组合问题

这里写图片描述
这里写图片描述

这数据写个暴力都拿不了30分 T_T。
C(n,i)*C(n,i)=C(n,i)*C(n,n-i) => 结合现实意义,在n个里面选 i 个,再在n个里面选n-i个的方案数。
就等价于在前n个中选 i 个,在后n各种选n-i个。而且i = 0~n => 在2*n各种选n个。
那么这里写图片描述=C(2*n,n);

答案要对1000000007取模,需要逆元(可用费马小定理,下面是式子)

C(2n,n)modp=(2n)!(n!n!)xmodp(x=p2)

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
#define LL long long
#define MOD 1000000007
#define N 1000000
using namespace std;
int T;
LL ans,P[2000009],n;
void init()
{
    LL p=1;
    for(LL i=1;i<=2*N;i++) p=(p*i)%MOD,P[i]=p;
}
LL Fast_Pow(LL x,LL p)//x^p 
{
    LL t1=1,t2=x;
    while(p)
    {
        if(p%2==1) t1=(t1*t2)%MOD;
        t2=(t2*t2)%MOD;
        p/=2;
    }
    return t1%MOD;
}
LL get_ans(int x)
{
    return (P[2*x]*Fast_Pow(P[x]*P[x]%MOD,MOD-2))%MOD;
}
int main()
{
    init();
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        ans=get_ans(n);
        printf("%lld\n",ans);
    }   
    return 0;
}

转载于:https://www.cnblogs.com/dfsac/p/7587796.html

相关文章:

  • 旗舰店揭幕大疆无人机用阿里云全球直播
  • 目标检测101:一文带你读懂深度学习框架下的目标检测
  • JavaScript实现分页效果
  • HttpClient5.x
  • 【转载】Docker 镜像优化与最佳实践
  • 数据分析后遗症:大数据互联网隐私之殇
  • 洗礼灵魂,修炼python(5)--python操作符,内置函数
  • System Error. Code:1722. RPC服务器不可用解决办法
  • Spring Boot开启的2种方式
  • AnkhSVN 1.0 RC3 released on August 25, 2006
  • 爆零专场
  • 2017.10.2解题报告
  • 5、ASP.NET MVC入门到精通——NHibernate代码映射
  • VLAN及vlan路由
  • 产品经理也要云转型 需掌握这10个技能
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker 笔记(2):Dockerfile
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • ES6系统学习----从Apollo Client看解构赋值
  • Fastjson的基本使用方法大全
  • java中的hashCode
  • Leetcode 27 Remove Element
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python - 闭包Closure
  • session共享问题解决方案
  • Yii源码解读-服务定位器(Service Locator)
  • 对象引论
  • 机器学习 vs. 深度学习
  • 利用jquery编写加法运算验证码
  • 目录与文件属性:编写ls
  • 微信小程序:实现悬浮返回和分享按钮
  • 在electron中实现跨域请求,无需更改服务器端设置
  • gunicorn工作原理
  • ionic异常记录
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 湖北分布式智能数据采集方法有哪些?
  • 说说我为什么看好Spring Cloud Alibaba
  • 昨天1024程序员节,我故意写了个死循环~
  • # centos7下FFmpeg环境部署记录
  • #{}和${}的区别是什么 -- java面试
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (8)STL算法之替换
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (轉)JSON.stringify 语法实例讲解
  • .cn根服务器被攻击之后
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET Core 中的路径问题
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 动态调用WebService + WSE + UsernameToken
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .Net(C#)自定义WinForm控件之小结篇