当前位置: 首页 > 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
  • 香港警务处高级助理处长叶云龙升任警务处副处长(行动)
  • 柴德赓、纪庸与叫歇碑
  • 中国黄金协会:一季度我国黄金产量同比增1.49%,黄金消费量同比降5.96%
  • 上海明天起进入“升温通道”,五一假期冲刺33℃
  • 上海市市管干部任职前公示:赵亮拟为地区区长人选
  • 酒店保洁员调包住客港币,海南官方通报:成立调查组赴属地调查