news 2026/4/25 20:46:27

题解:P16305 [蓝桥杯 2026 省 Java C 组] 奇偶交换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
题解:P16305 [蓝桥杯 2026 省 Java C 组] 奇偶交换

这题和一次的 atcoder 很像。

题意

给一个序列,可以交换奇偶不同的相邻数字,求有几种排列方法。

思路

奇数和奇数不能交换,偶数和偶数不能交换。就是奇数可以在偶数之间移动,但是不能穿过奇数。所以可以计算组合方式C c n t n C_{cnt}^nCcntn,其中cnt是奇数的个数。
组合数的计算方式:C m n = n ! m ! × ( n − m ) ! C_m^n=\frac{n!}{m!\times(n-m)!}Cmn=m!×(nm)!n!,可以先预处理阶乘。
由于模数是质数,所以不会出现无解情况,要用快速幂求逆元,公式为a ÷ x m o d m o d = a × x m o d − 2 m o d m o d a\div x\bmod mod=a\times x^{mod-2}\bmod moda÷xmodmod=a×xmod2modmod

代码

#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;ll n,cnt,jc[100001];llpw(ll a,ll b,ll mod){//快速幂求逆元ll res=1;while(b){if(b&1)res=res*a%mod;a=a*a%mod,b>>=1;}returnres;}intmain(){cin>>n;jc[0]=1;//预处理阶乘for(ll i=1;i<=n;i++)jc[i]=jc[i-1]*i%998244353;for(ll i=1,x;i<=n;i++)cin>>x,cnt+=x&1;//计算奇数数量//计算组合数cout<<(jc[n]*pw(jc[cnt],998244351,998244353)%998244353)*pw(jc[n-cnt],998244351,998244353)%998244353;return0;//完结散花}

原文链接

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 20:46:25

个人博客4: Git 忽略规则优化+跨文件上下文补全功能开发

1. 本次改动总览我在团队中主要负责渐进式上下文补全、大模型调用、漏洞解释生成、修复建议输出&#xff0c;是连接后端规则分析与前端插件 展示的核心环节。AI 模块的稳定性、准确率和响应速度&#xff0c;将直接决定项目最终能否达到可演示、可考核、可验收的标准。上次说要写…

作者头像 李华
网站建设 2026/4/25 20:40:21

Winhance中文版:让Windows系统优化变得像火箭一样简单快速

Winhance中文版&#xff1a;让Windows系统优化变得像火箭一样简单快速 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhanc…

作者头像 李华
网站建设 2026/4/25 20:28:19

告别RNN和CTC:用SVTR这个纯视觉Transformer模型,搞定中英文OCR又快又准

SVTR&#xff1a;用纯视觉Transformer重塑OCR技术格局 当我们在手机上扫描文档、在街头识别广告牌文字、或是处理银行票据时&#xff0c;背后都依赖于OCR&#xff08;光学字符识别&#xff09;技术的支撑。传统OCR系统如同一个精密但笨重的工厂流水线——先用卷积神经网络&…

作者头像 李华
网站建设 2026/4/25 20:26:20

别再手动点菜单了!用C# NXOpen批量处理UG/NX部件文件(附完整源码)

工业级NX部件自动化处理&#xff1a;C# NXOpen全流程开发指南 在机械设计与制造领域&#xff0c;UG/NX作为主流的三维CAD/CAM/CAE软件&#xff0c;每天需要处理大量部件文件(.prt)。当面对数百个需要统一修改或检查的模型文件时&#xff0c;传统的手动操作不仅效率低下&#xf…

作者头像 李华