hdu5651 xiaoxin juju needs help(组合数学)
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5651
题目大意:
改变所给字符串里面的字符的任意顺序,问组成回文串的方案数。
范围:
字符串长len<=1000。
思路:
根据回文串的性质,我们可以只考虑前半部分的串的构成。所以最多只有一种字母的个数为奇数。
所以剩下的情况就是组合数取几个的方案数的求和了。
代码:
#include<stdio.h>
#include<string.h>
#define ll __int64
#define mod 1000000007
ll c[1005][1005];
int main()
{char s[1005];int vis[26];int i,j,k,l,T,t;ll sum,ans,a,b;for(i=0;i<=1000;i++)c[i][0]=1;for(i=1;i<=1000;i++){for(j=1;j<=i;j++){if(i==j)c[i][j]=1;else if(i>j)c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;}}scanf("%d",&T);while(T--){sum=0;t=0;scanf("%s",s);l=strlen(s);memset(vis,0,sizeof(vis));for(i=0;i<l;i++){vis[s[i]-'a']++; }for(i=0;i<26;i++){if(vis[i]%2)t++;vis[i]/=2;sum+=vis[i];}if(t>1){printf("0\n");}else { ans=1; int len=l/2;for(j=0;j<26;j++){ans=((ans%mod)*(c[len][vis[j]]%mod))%mod;len-=vis[j];}printf("%I64d\n",ans%mod);}}
}
hdu5651 xiaoxin juju needs help(组合数学)相关推荐
- hdu5651 xiaoxin juju needs help (多重集的全排列+逆元)
xiaoxin juju needs help 题意:给你一个字符串,求打乱字符后,有多少种回文串. (题于文末) 知识点: n个元素,其中a1,a2,··· ...
- hdu5651 xiaoxin juju needs help(逆元)
xiaoxin juju needs help Accepts: 150 Submissions: 966 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- bestcoder #77 xiaoxin juju needs help
xiaoxin juju needs help Accepts: 134 Submissions: 309 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- (回文串全排列个数) xiaoxin juju needs help
题目 As we all known, xiaoxin is a brilliant coder. He knew palindromic strings when he was only a six ...
- 不畏浮云遮望眼--离散数学和组合数学
不畏浮云遮望眼,基础很重要! 离散数学是算法和数据结构的基础,而算法和数据结构又是什么的基础?不解释了. 1.<离散数学及其应用> 作者: (美)Kenneth H. R 出版社: 机械工 ...
- szucodeforce训练1081C组合数学lucas定理,div2 627的D dfs +剪枝优化,697D Puzzles{dfs序+概率}
给你n个方格排成一行,有m种颜色,然后要把这n个方格分成k+1段,每段涂不同的颜色,问有多少种方法. 组合数学Lucas定理 排列组合问题,首先要在n-1个位置里面选出k个位置当作段与段的分割点,然后 ...
- 【数学专题】组合数学与计数
整理的算法模板合集: ACM模板 目录 AcWing 1307. 牡牛和牝牛(递推) AcWing 1308. 方程的解 AcWing 1309. 车的放置(组合数学,分类讨论) AcWing 131 ...
- 组合数学实验——二分图匹配算法
2019独角兽企业重金招聘Python工程师标准>>> 大一时候写的代码,忽然翻了出来.... 算法:组合数学中文第4版 机械工业出版社 P234 ID就先隐藏掉了 // // // ...
- Sequence(组合数学,集合不同元素的个数)
Sequence [组合数学] 时间限制: 3 Sec 内存限制: 128 MB 提交: 138 解决: 52 [提交][状态][讨论版] 题目描述 在某个夜黑月高的晚上,!!!,原谅我编不下去了 ...
- 【组合数学】指数生成函数 ( 指数生成函数求解多重集排列示例 2 )
文章目录 一.指数生成函数求解多重集排列示例 2 参考博客 : 按照顺序看 [组合数学]生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相 ...
最新文章
- TSS描述符表的作用
- Python解答力扣网站题库简单版----第三讲
- 【渝粤教育】国家开放大学2018年春季 0045-22T烹饪原料学(1) 参考试题
- 计算机网络技术与应用应用题,计算机网络技术与应用题库答案.pdf
- Algorithm -- 邮票连续组合问题
- visio绘制网络拓扑图要求_国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
- opencv学习第6课官方练习实现 Create a Paint application with adjustable colors and brush radius using trackbars
- SLAM_数据集_EuRoC数据集简介与使用
- python面试必备10题_不吹不擂,你想要的Python面试都在这里了【315+道题】+精心整理的解答...
- java反序列化为空_Java序列化/反序列化,提供空对象引用
- 计算机综合应用技能,系统测评计算机综合应用技能期末作业.doc
- 机器学习(1)泛化误差上界的实现及分析
- layui layer诡异bug记录
- 7-3 IP地址转换
- 威廉.布莱克 和 他的诗歌
- python的小作业
- 华为手表GT2 模拟加密门禁卡
- C语言 内部函数和外部函数
- Silverlight游戏研发手记:(五)SLG动感增效之《幻影粒子》
- Android知识积累
热门文章
- 双均线策略 ------优矿学习
- aws的sdk异常 unable to execute HTTP ec2-north-1.amazonaws
- Multi-modal Knowledge Graphs for Recommender Systems论文解读
- JavaWeb网上图书商城
- google身份验证器,java服务端实现 GoogleAuthenticator
- seata启动报错的一种处理方式 NO channal is available for resource [deduct]
- blender弯曲物体
- CVPR 2019 论文最新汇总(按方向划分,0611 更新中)
- Tryhackme-New Year
- FreeRTOS 任务调度 系统节拍