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

组合数哭唧唧

前言:手写一个简单的组合数,但是由于长期没写,导致一些细节没处理好


题目链接

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
#define endl "\n"#define int long longconst int N = (int)2e5+10;
const int Mod = (int)1e9+7;int a[N]; // 处理阶乘 
int n,k;void fun(){a[1] = 1; a[0] = 1;  // 这个不能漏掉 ,这个很关键for(int i=2;i<N;i++){a[i] = (a[i-1]*i)%Mod;}
}int pow(int x,int p){int tmp = 1;while(p){if(p&1) tmp =tmp* x%Mod;x = x*x%Mod;p >>=1;}return tmp;
}int chu(int nn,int kk){if(nn<kk) return 0LL;return (a[nn]%Mod)*(pow(a[nn-kk]*a[kk]%Mod,Mod-2)%Mod)%Mod;
} signed main(){fun();int t;cin >> t;while(t--){cin >> n >> k;int b;int cnt = 0;for(int i=1;i<=n;i++){cin >> b;if(b){cnt += 1;}}int ans = 0;for(int i=k/2+1;i<=min(k,cnt);i++){ans =(ans+ chu(cnt,i)*chu(n-cnt,k-i))%Mod;}cout << ans << endl;}}

相关文章:

  • C# 基类型和派生类型之间的转型
  • DDS信号发生器设计(Quartus)
  • 35. 搜索插入位置
  • python数据类型处理题,输出素数题
  • Flink SQL SavePoint最佳实践
  • 【项目(一)】-仿mudou库one thread oneloop式并发服务器实现
  • 【Qt】界面优化
  • 4.1.1 Redis相关命令详解及其原理
  • 深入解析分类模型评估指标:ROC曲线、AUC值、F1分数与分类报告
  • OCCT 入门(3)核心模块与架构
  • 游戏测试入门知识
  • matlab中进行海浪模型仿真
  • 利用pnpm patch命令实现依赖包热更新:精准打补丁指南
  • ARM Cortex汇编宏定义
  • 基于 PyGetWindow 获取窗口信息和控制窗口
  • 安防监控视频管理平台EasyCVR助力建筑工地施工4G/5G远程视频监管方案
  • AgentGPT 在浏览器中组装、配置和部署自主 AI 代理 入门介绍
  • [250415] OpenAI 推出 GPT-4.1 系列,支持 1M token
  • Python正则表达式有哪些常用匹配字符?
  • 刚刚丨OpenAI发布最新模型——GPT-4.1
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 习近平主持召开部分省区市“十五五”时期经济社会发展座谈会
  • 山西太原一居民小区发生爆炸,应急管理部派工作组赴现场
  • 关于新冠疫情防控与病毒溯源的中方行动和立场
  • 济南高新区一季度GDP增长8.5%,第二产业增加值同比增长14.4%
  • 徐徕任上海浦东新区副区长,此前已任区委常委