xiaoxin juju needs help - 组合公式
学组合数不久,对二项式定理的熟悉程度还是太低了。
这是一个经典的球与袋问题。求将n种球放在m个袋子里的方法。∑num[i]=m\sum_{num[i]}=m∑num[i]=m
根据二项式可以推理,首先若球全部不同,即有m!m!m!种方法,除去有球相同的情况只需m!/num[i]!m!/num[i]!m!/num[i]!。
#include <bits/stdc++.h>using namespace std;
#define int long long
int num[30];
const int MOD = 1e9 + 7;
long long quickmul(int a, int b) {long long ret = 1;for (; b; b >>= 1, a = (long long) a * a % MOD)if ((b & 1))ret = ret * a % MOD;return ret;
}void solve() {int T;cin >> T;while (T--) {memset(num, 0, sizeof num);string s;cin >> s;int ji = 0;for (int i = 0; i < s.length(); ++i) {num[s[i] - 'a']++;}int tot = 0;for (int i = 0; i <= 25; ++i) {if (num[i] & 1) {num[i] -= 1;ji++;}tot += num[i] / 2;}if (ji > 1) cout << 0 << endl;else {int ans = 1;for (int i = 1; i <= tot; ++i) {(ans *= i) %= MOD;}for (int i = 0; i <= 25; ++i) {for (int j = 1; j <= num[i]/2; ++j) {ans = ans * quickmul(j,MOD-2)%MOD;}}cout << ans << endl;}}}signed main() {ios::sync_with_stdio(0);
// freopen("in.txt", "r", stdin);solve();
}
xiaoxin juju needs help - 组合公式相关推荐
- hdu5651 xiaoxin juju needs help(逆元)
xiaoxin juju needs help Accepts: 150 Submissions: 966 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- hdu5651 xiaoxin juju needs help (多重集的全排列+逆元)
xiaoxin juju needs help 题意:给你一个字符串,求打乱字符后,有多少种回文串. (题于文末) 知识点: n个元素,其中a1,a2,··· ...
- 蓝桥杯-组合公式求值(java)
算法提高 组合公式求值 时间限制:1.0s 内存限制:256.0MB问题描述给定n, m,求:输入格式输入一行,包含两个整数n, m.输出格式输出一行,包含求得的值,由于答案可能非常大,请输出此公式除 ...
- 排列公式和组合公式_排列与组合:排列公式与组合公式之间有什么区别?
排列公式和组合公式 Here's the short version. 这是简短的版本. Let's take ringing bells in a church as an example. 让我们 ...
- 阶乘、排列、组合 公式计算
阶乘.排列.组合 公式计算 引自:http://wy19880318.blog.163.com/blog/static/3615147220090385546818/ ... 阶乘.排列.组合 公式计 ...
- CodeForces - 1008D - Pave the Parallelepiped (容斥原理+重复组合公式+状态压缩+思维)
题目链接: http://codeforces.com/problemset/problem/1008/D 前置知识: 1.容斥原理:(见百度百科) https://baike.baidu.com/i ...
- 排列组合公式 与24点编程游戏
排列组合公式 此外, 规定0! = 1. 24点游戏编程问题 问题描述 你有 4 张写有 1 到 9 数字的牌.你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24. 示例 1: 输入: [ ...
- bestcoder #77 xiaoxin juju needs help
xiaoxin juju needs help Accepts: 134 Submissions: 309 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- java股票公式源码_20个最牛抄底公式及2个组合公式源码
好股票软件下载网(www.goodgupiao.com)提示:您正在下载的是:20个最牛抄底公式及2个组合公式源码 20个最牛抄底公式及2个组合公式源码 {金牛起步} XA_1:=VOL XA_2:= ...
- 组合公式计算机,组合数公式
组合数公式是指从 n 个不同元素中,任取 m(m≤n) 个元素并成一组,叫做从 n 个不同元素中取出 m 个元素的一个组合:从 n 个不同元素中取出 m(m≤n) 个元素的所有组合的个数,叫做 n 个 ...
最新文章
- dbus-launch(转)
- linux日志显示too many open files解决
- 以色列农业奇迹-丰收节贸易会:谋定符合国情制度和方式
- openwrt打印机支持列表_共享打印机的三种安装连接方法
- iOS页面间跳转的方式
- VS+VSS代码管理
- java小游戏制作(maxfo)
- vb mysql 查询_VB数据库记录查询四法
- MQTT服务器的搭建与MQTT客户端的使用
- 笔记本触摸板双指失灵
- linux系统怎么修改数据库密码,Linux系统修改数据库密码相关
- 基于LED恒流驱动芯片芯鼎盛TX6122设计的DC-DC降压恒流DEMO
- sunshine in the rainsunshine in the rain
- php调用酷狗音乐APi
- 英语学习逆向法 (钟道隆 著)
- 阿朱:研发管理者必读文章
- [渝粤教育] 苏州农业职业技术学院 日语会话基础 参考 资料
- PHP自适应小说网站源码深度SEO优化自动采集
- (UE4 4.27)自定义PrimitiveComponent
- matlab理论知识点,matlab基础知识点.doc
热门文章
- 征战牛市!HASHBOX第二期矿场行活动完美落幕
- 基于JAVA图书商城购物系统的设计与实现
- dpkg: 依赖关系问题使得 sdkmanager 的配置工作不能继续: sdkmanager 依赖于 libgconf-2-4;然而: 未安装软件包 libgconf-2-4。 [已解决]
- python练手经典100例项目-Python 的练手项目有哪些值得推荐?
- 公共关系礼仪实务章节测试题——公共关系的类型(六)
- 推广软件开发分析规范
- qq无法启动此程序计算机中丢失dll,Win7系统打开QQ提示丢失DLL文件怎么办
- stm32定时器配置与时间计算公式
- 绿城濮园中国居业理想水镇发布;保乐力加中国开启产品鉴别双通道 | 美通企业日报...
- HTML中淡入的动画效果,利用CSS3制作淡入淡出动画效果