P12028 [USACO25OPEN] Moo Decomposition G

news/2025/11/5 7:59:48/文章来源:https://www.cnblogs.com/qwqSW/p/19191812

题目传送门

“这是什么地方?”

教练当模拟赛出的。没有一眼这个题。我是不是该退役了。

另外警示一下后人。


进入正题。

计数题优先考虑排列组合和 dp,然而在推了半天的 dp 式子后还是过不去样例,所以我们考虑排列组合。

原题保证了 S 串可以分解,这也能说明 T 串可以分解。

接下来我们证明这个结论。

S 串可以分解,说明 \((k+1)|n\)

如果 T 串前面有若干个 O 的话,那么第一个循环节是以 O 打头的,没有 M 能选它们,S 串就分解不出来了。与题目给的假设矛盾了,所以原假设不成立。

所以 T 串一定是以 M 打头。如果 T 串多了 O 或者少了 O 的话,那 S 的第一个循环节还是会有选不上的 O,S 仍然无法划分出来。所以原假设不成立。

于是可以先考虑一个循环节的情况。因为每个 O 都必须接到它前面 M 的后面,所以我们倒序枚举 T,每遇到一个 M 就排列组合一次,选它后面的 O。

因为 O 可以随便选,所以如果这个 M 的位置为 \(pos\),T 的串长为 \(n\),并且它后面有 \(m\) 个 M 的话,它选 O 的方案数就是 \(C_{n-i-m*k}^{k}\)

一个循环节的答案显然就是所有 M 选择 O 方案数之积 \(res\)

当我们有多个循环节的时候,如果存在两个循环节 \(l,r(l<r)\)\(l\) 中的 M 去选了 \(r\) 中的 O,那么 \(l\) 中就会剩一个 O,但是 \(r\) 中的那个 M 选不了这个 O,\(l\) 前的循环节如果选了这个 O 也会有这个问题。所以我们不可能跨循环节选择。

既然如此,说明每个循环节都是独立的,每个循环节的方案直接相乘就是答案。当有 \(L\) 个循环节的时候,答案就是 \(res^L\)

(补充:\(C_n^m=\frac{n!}{m!(n-m)!}\),模意义下要使用费马小定理处理阶乘的逆元)

(另外,设 \(inv_i\)\(i!\) 的逆元,则 \(inv_i=inv_{i+1} \times (i+1)\)。)

代码也是非常的简短:

P12028
#include<bits/stdc++.h>
#define int long long
using namespace std;inline int read(){int x=0,f=1;char c=getchar();while(c<48){if(c=='-') f=-1;c=getchar();}while(c>47) x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}const int N=1e6+6;
const int mod=1e9+7;
int k,n,qwq,awa,ans=1,inv[N],pw[N];
char s[N];inline int qpow(int a,int b){//快速幂 int res=1;while(b){if(b&1) res=(res*a)%mod;a=(a*a)%mod;b>>=1;}return res;
}inline int C(int n,int m){return pw[n]*inv[m]%mod*inv[n-m]%mod;
}inline void INIT(){//预处理阶乘及其逆元 pw[0]=1;for(int i=1;i<=n;i++){pw[i]=pw[i-1]*i%mod;}inv[n]=qpow(pw[n],mod-2);for(int i=n-1;i>=0;i--){ inv[i]=inv[i+1]*(i+1)%mod;}
}signed main(){k=read(),n=read(),qwq=read();scanf("%s",s+1); INIT();ans=1;for(int i=n;i>=1;i--){if(s[i]=='M'){ans=ans*C(n-i-awa*(k+1),k)%mod;awa++;}}ans=qpow(ans,qwq);printf("%lld",ans);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/956273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P7371 [COCI 2018/2019 #4] Kisik 题解

P7371 [COCI 2018/2019 #4] Kisik 题解P7371 [COCI 2018/2019 #4] Kisik 题解 题目链接 我的博客 思路 首先需要明确的是这道题要求什么。因此充气的范围也是一个矩形区域。所以这道题要求的是 \(W \times H\) 的最小值…

C# 状态机

引言 在业务处理中, 经常需要处理业务对象的状态转换, 比如 bug 状态管理、订单状态管理等, 这类问题可依照状态的复杂度,可以有不同的解决方案。简单的顺序状态管理 如果状态数量很少,同时状态是按照一个方向流转…

PHP 现代特性速查 写出更简洁安全的代码(中篇)

PHP 现代特性速查 写出更简洁安全的代码(中篇) 三部曲第二篇,如果讲怎么用现代 PHP 特性让代码更安全、更快、更好维护。上篇讲了 attributes、命名参数、构造器属性提升、类型化属性、enums、只读 DTO 和一等公民可…

真 CSP 2025 游记

最后的吃薯片前几天状态很不好啊,模拟赛总是因为奇怪的原因暴毙。 day0 住英庄李家。 下高铁又走错路了。 大巴给人送到了闲庭四艺。 晚饭是手机换盒饭加一套纸质模拟赛。 最后一次 CSP 喽。 挡在前面的人都有罪,后悔…

[引]Regenerate the SAS key used in HTTP trigger flows

[引]Regenerate the SAS key used in HTTP trigger flowsSAS (共享访问签名)和 Bearer Token (持有者令牌) SAS(共享访问签名)和 Bearer Token 是两种常见的认证/授权机制,但它们的应用场景、设计哲学和用法有显…

AI元人文:大语言模型与价值权衡的共生之道

AI元人文:大语言模型与价值权衡的共生之道 在人工智能伦理研究领域,我们常常陷入非此即彼的思维陷阱。然而,当我们将目光投向更具建设性的方向时,会发现大语言模型与AI元人文理论并非竞争对手,而是解决不同层面问…

11月4号

今天进行了数据加工的学习。 进行了古诗词的学习。

AVrecon僵尸网络感染超7万台Linux路由器,潜伏两年终被发现

安全研究人员发现AVrecon Linux恶意软件已感染超过7万台小型办公和家用路由器,构建了专门创建隐藏住宅代理的僵尸网络。该恶意软件成功潜伏两年未被发现,成为全球最大的路由器僵尸网络之一。AVrecon僵尸网络感染超7万…

AI元人文:化解算力质疑——降维重构价值计算

AI元人文:化解算力质疑——降维重构价值计算 人工智能伦理研究长期受限于算力需求与计算复杂度的双重约束。本文系统阐述AI元人文理论框架中的"双重降维"机制,通过"共识锚定"实现从价值主体到价…

Gunicorn 基础使用

在 Gunicorn 中,**项目名**对应的是 **包含 `wsgi.py` 的 Python 包名**,而不是磁盘上的顶层目录。 对于你这条路径: ```/home/DjangoProject/Web/mysite/mysite/wsgi.py``` 启动时应写: ```bashgunicorn mysite.w…

[UNIX] unix classic book

BooksA Quarter Century of Unix The C Programming Language The Design and Implementation of the 4.3BSD UNIX Operating System The Design and Implementation of the 4.4BSD Operating System Life with Unix L…

[UNIX]A Quarter Century of Unix by Peter H. Salus

pdf下载:https://ia800304.us.archive.org/35/items/aquartercenturyofunixpeterh.salus_201910/A%20Quarter%20Century%20of%20UNIX%20-%20Peter%20H.%20Salus.pdfDJVU: https://annas-archive.org/md5/11a934b9d361…

2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换新风系统公司推荐

2025年11月新风系统厂家推荐排行榜:极寒地区全热交换技术引领行业变革 一、行业背景与发展趋势 随着室内空气质量意识的不断提升,新风系统行业在2025年迎来新的发展契机。特别是在电竞网咖、酒店棋牌室、KTV娱乐场所…

2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆艾灸会所美容院商用家用全热交换极寒地区公司推荐

2025 年 11 月新风系统厂家推荐排行榜:电竞网咖酒店棋牌室 KTV 洗浴饭店商场办公室别墅大宅学校诊所中医馆艾灸会所美容院商用家用全热交换极寒地区公司推荐 随着室内空气质量日益受到重视,新风系统已成为各类商业与…

2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用极寒地区全热交换系统公司精选

2025年11月新风系统厂家推荐排行榜:商用与极寒环境全热交换系统精选 随着室内空气质量日益受到重视,新风系统已成为各类商业与居住空间的标配设备。特别是在电竞网咖、酒店棋牌室、KTV娱乐场所、洗浴中心、餐饮饭店、…

2025 年 11 月新风系统厂家推荐排行榜,电竞/网咖/酒店/棋牌室/KTV/洗浴/商场/办公室/别墅/学校/诊所/中医馆/会所/美容院/商用/家用/极寒地区/全热交换新风系统公司推荐

2025年11月新风系统厂家推荐排行榜:专业解读电竞娱乐与商业空间空气解决方案 随着室内空气质量日益受到重视,新风系统已成为各类商业场所和居住空间的标配设备。特别是在电竞馆、网咖、酒店等人员密集场所,以及极寒…

2025 年 11 月新风系统厂家推荐排行榜,电竞网咖酒店棋牌室KTV洗浴饭店商场办公室别墅大宅学校诊所中医馆会所美容院,商用家用全热交换极寒地区适用

2025年11月新风系统厂家推荐排行榜:全热交换技术助力多元场景空气质量升级 在当今社会,室内空气质量日益受到重视,新风系统作为改善室内环境的关键设备,其技术演进与市场格局呈现多元化发展趋势。特别是在电竞网咖…

Glide将网络图片压缩成指定大小并保存到本地

private static void toPNG(Context context, String string, File output, int width, int height){ try{ Glide.with(context) .load(string) .asBitmap() …

认知过程的现象学模型:回到“事情本身”的意识体验

认知过程的现象学模型:回到“事情本身”的意识体验 现象学的口号是“回到事情本身”,这意味着我们要悬置预先的假设和科学理论,直接描述我们直接经验到的认知过程。这个模型拒绝将认知视为“大脑中的信息处理”,而…

AI元人文构想中的“内观照叙事模型”:从心灵哲学到价值计算的桥梁

AI元人文构想中的“内观照叙事模型”:从心灵哲学到价值计算的桥梁 ——认知过程的现象学模型 在关于人工智能伦理的诸多探讨中,“价值对齐”的范式已日渐显露其疲态。它试图将人类丰饶而流动的价值简化为一系列可执行…