题目链接:

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(组合数学)相关推荐

  1. hdu5651 xiaoxin juju needs help (多重集的全排列+逆元)

    xiaoxin juju needs help 题意:给你一个字符串,求打乱字符后,有多少种回文串.                      (题于文末) 知识点: n个元素,其中a1,a2,··· ...

  2. hdu5651 xiaoxin juju needs help(逆元)

    xiaoxin juju needs help Accepts: 150 Submissions: 966 Time Limit: 2000/1000 MS (Java/Others) Memory ...

  3. bestcoder #77 xiaoxin juju needs help

    xiaoxin juju needs help  Accepts: 134  Submissions: 309  Time Limit: 2000/1000 MS (Java/Others)  Mem ...

  4. (回文串全排列个数) xiaoxin juju needs help

    题目 As we all known, xiaoxin is a brilliant coder. He knew palindromic strings when he was only a six ...

  5. 不畏浮云遮望眼--离散数学和组合数学

    不畏浮云遮望眼,基础很重要! 离散数学是算法和数据结构的基础,而算法和数据结构又是什么的基础?不解释了. 1.<离散数学及其应用> 作者: (美)Kenneth H. R 出版社: 机械工 ...

  6. szucodeforce训练1081C组合数学lucas定理,div2 627的D dfs +剪枝优化,697D Puzzles{dfs序+概率}

    给你n个方格排成一行,有m种颜色,然后要把这n个方格分成k+1段,每段涂不同的颜色,问有多少种方法. 组合数学Lucas定理 排列组合问题,首先要在n-1个位置里面选出k个位置当作段与段的分割点,然后 ...

  7. 【数学专题】组合数学与计数

    整理的算法模板合集: ACM模板 目录 AcWing 1307. 牡牛和牝牛(递推) AcWing 1308. 方程的解 AcWing 1309. 车的放置(组合数学,分类讨论) AcWing 131 ...

  8. 组合数学实验——二分图匹配算法

    2019独角兽企业重金招聘Python工程师标准>>> 大一时候写的代码,忽然翻了出来.... 算法:组合数学中文第4版 机械工业出版社 P234 ID就先隐藏掉了 // // // ...

  9. Sequence(组合数学,集合不同元素的个数)

    Sequence [组合数学] 时间限制: 3 Sec  内存限制: 128 MB 提交: 138  解决: 52 [提交][状态][讨论版] 题目描述 在某个夜黑月高的晚上,!!!,原谅我编不下去了 ...

  10. 【组合数学】指数生成函数 ( 指数生成函数求解多重集排列示例 2 )

    文章目录 一.指数生成函数求解多重集排列示例 2 参考博客 : 按照顺序看 [组合数学]生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相 ...

最新文章

  1. TSS描述符表的作用
  2. Python解答力扣网站题库简单版----第三讲
  3. 【渝粤教育】国家开放大学2018年春季 0045-22T烹饪原料学(1) 参考试题
  4. 计算机网络技术与应用应用题,计算机网络技术与应用题库答案.pdf
  5. Algorithm -- 邮票连续组合问题
  6. visio绘制网络拓扑图要求_国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
  7. opencv学习第6课官方练习实现 Create a Paint application with adjustable colors and brush radius using trackbars
  8. SLAM_数据集_EuRoC数据集简介与使用
  9. python面试必备10题_不吹不擂,你想要的Python面试都在这里了【315+道题】+精心整理的解答...
  10. java反序列化为空_Java序列化/反序列化,提供空对象引用
  11. 计算机综合应用技能,系统测评计算机综合应用技能期末作业.doc
  12. 机器学习(1)泛化误差上界的实现及分析
  13. layui layer诡异bug记录
  14. 7-3 IP地址转换
  15. 威廉.布莱克 和 他的诗歌
  16. python的小作业
  17. 华为手表GT2 模拟加密门禁卡
  18. C语言 内部函数和外部函数
  19. Silverlight游戏研发手记:(五)SLG动感增效之《幻影粒子》
  20. Android知识积累

热门文章

  1. 双均线策略 ------优矿学习
  2. aws的sdk异常 unable to execute HTTP ec2-north-1.amazonaws
  3. Multi-modal Knowledge Graphs for Recommender Systems论文解读
  4. JavaWeb网上图书商城
  5. google身份验证器,java服务端实现 GoogleAuthenticator
  6. seata启动报错的一种处理方式 NO channal is available for resource [deduct]
  7. blender弯曲物体
  8. CVPR 2019 论文最新汇总(按方向划分,0611 更新中)
  9. Tryhackme-New Year
  10. FreeRTOS 任务调度 系统节拍