HDU 5651(排列组合,逆元)
来源:互联网 发布:保定seo外包 编辑:程序博客网 时间:2024/04/28 08:42
hdu 5615
思路:
len = 1, ans = 1;
统计每个字母出现个数,cnt_(奇数个个数的字母)>1; ans = 0;
排列序列左端;
设
根据
#include <iostream>#include <cstring>#include <algorithm>#include <cstdlib>#include <cstdio>#define MOD 1000000007#define LL long longusing namespace std;LL fn[505];int a[30];void init(){ fn[1] = 1; for (int i = 2; i <= 500; i++) { fn[i] = (fn[i - 1] * i) % MOD; }}LL quick_Mod(LL m, LL n, LL k) //(n ^ m) % k; ((n % k) ^ m) % k == (n ^ m) % k;{ LL ans = 1; while (n) { if (n & 1) { ans = (ans * m) % k; } n = n >> 1; m = (m * m) % k; } return ans;}int main(){ int T; scanf("%d", &T); init(); char ss[1005]; while (T--) { scanf("%s", ss); // printf("%s\n", ss); memset(a, 0, sizeof(a)); int len = strlen(ss); if (len == 1) { printf("1\n"); continue; } // cout << len << endl; for (int i = 0; i < len; i++) { a[ss[i] - 'a']++; } bool flag = 0; int cnt = 0; for (int i = 0; i < 26; i++) { if (a[i] & 1) { a[i]--; cnt++; } if (cnt > 1) { flag = 1; printf("0\n"); break; } } if (flag == 1) { continue; } LL ans = 1; LL tmp = fn[len/2]; for (int i = 0; i < 26; i++) { if (a[i] != 0) { // cout << i << ' ' << a[i] << endl; ans = (ans * quick_Mod(fn[a[i] / 2], MOD - 2, MOD)) % MOD; } } // cout << tmp << ' ' << ans << endl; ans = (ans * tmp) % MOD; printf("%lld\n", ans); }}
0 0
- HDU 5651(排列组合,逆元)
- hdu 5651(逆元+排列组合)
- HDU xiaoxin juju needs help (逆元+排列组合)
- CodeForces 300CBeautiful Numbers(排列组合 乘法逆元)
- 51nod:1118 机器人走方格(排列组合+逆元)
- hdu 1261(排列组合)
- hdu 5366(排列组合)
- hdu 5719 Arrange(排列组合)
- CF 361 E. Mike and Geometry Problem (排列组合+乘法逆元)
- 51nod 1118 机器人走方格 (排列组合+乘法逆元!!!)
- 【BZOJ 4517】排列计数 - 排列组合+乘法逆元
- hdu 3768 Shopping(最短路+排列组合)
- [ACM] hdu 1521 排列组合(组合+DFS)
- hdu 4497 GCD and LCM(排列组合)
- hdu-1521-排列组合(母函数)
- 排列组合(二) - HDU 1436 dp
- hdu 4465 Candy (快速排列组合 )
- HDU--5396(区间dp+排列组合)
- 【追求进步】从上往下打印二叉树
- BZOJ 1201: [HNOI2005]数三角形
- 约瑟夫问题
- 机房重构——充值
- iOS 多线程
- HDU 5651(排列组合,逆元)
- 绘画的色彩基础教程
- (PHP+HTML+JavaScript+Css)一个简单爬虫的开发
- 数据结构复习-链表
- [C#基础]网络编程(三):protobuf-net
- 五子棋AI算法第八篇-重构代码
- 初探双向链表
- 不敢死队问题
- hdu4325 Flowers【树状数组区间更新单点求值 离散化】