CSP-S2025 员工招聘

CSP-S2025 员工招聘

\(f_{i,j,k}\) 表示考虑前 \(i\) 天,有 \(j\) 个人未录用,对于 \(c_p\le j\)\(p\)\(k\) 个填在 \([i+1,n]\)。设 \(cnt_x\) 表示 \(c_p=x\) 的数量,\(pre_x\)\(cnt\) 的前缀和。

边界:\(f_{0,0,cnt_0}=1\)

\(i\) 转移到 \(i+1\)\([1,i]\) 中有 \(rest=i-pre_j+k\) 个空位。

  • \(k\) 个人中选一个填到 \(i+1\),这时 \(j'=j+1\),枚举 \(cnt_{j+1}\) 个数中有 \(l\) 个填在 \([i+1,n]\)

    \(f_{i,j,k}\times k\times A^{rest}_{cnt_{j+1}-l}\times \binom{cnt_{j+1}}l\to f_{i+1,j+1,k-1+l}\)

  • \(s_{i+1}=1\)\(j'=j\)

    \(f_{i,j,k}\to f_{i+1,j,k}\)

  • \(s_{i+1}=0\)\(j'=j+1\),从 \(cnt_{j+1}\) 个数中选择一个填在 \(i+1\),同样枚举 \(l\in [0,cnt_{j+1}-1]\)

    \(f_{i,j,k}\times cnt_{j+1}\times A^{rest}_{cnt_{j+1}-1-l}\times \binom{cnt_{j+1}-1}l\to f_{i+1,j+1,k+l}\)

  • \(s_{i+1}=0\)\(j'=j+1\),此时把 \(i+1\) 空出来不填,枚举 \(l\in [0,cnt_{j+1}]\)

    \(f_{i,j,k}\times A^{rest}_{cnt_{j+1}-l}\times \binom{cnt_{j+1}}l\to f_{i+1,j+1,k+l}\)

那么 \(Ans=\sum_{i=0}^{n-m}f_{n,i,0}\times (n-pr_i)!\)。时间复杂度 \(O(n^3)\)

#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
const int N=505,mod=998244353;
int n,m,x,c[N],pr[N],a[N];
ll f[2][N][N],fc[N],iv[N];
void init(){iv[0]=iv[1]=fc[0]=1;for(int i=2;i<=n;i++) iv[i]=iv[mod%i]*(mod-mod/i)%mod;for(int i=1;i<=n;i++) fc[i]=fc[i-1]*i%mod,iv[i]=iv[i-1]*iv[i]%mod;
}
ll A(int n,int m){if(n<m) return 0;return fc[n]*iv[n-m]%mod;
}
ll C(int n,int m){if(n<m) return 0;return fc[n]*iv[n-m]%mod*iv[m]%mod;
}
char s[N];
void tr(ll &x,ll y){x+=y;if(x>=mod) x-=mod;
}
int main(){freopen("employ.in","r",stdin);freopen("employ.out","w",stdout);scanf("%d%d%s",&n,&m,s+1);for(int i=1;i<=n;i++) scanf("%d",&x),c[x]++;pr[0]=c[0];for(int i=1;i<=n;i++) pr[i]=pr[i-1]+c[i];init();f[0][0][c[0]]=1;for(int i=1;i<=n;i++){int u=i&1,v=u^1;memset(f[u],0,sizeof(f[u]));for(int j=0;j<i;j++)for(int k=0;k<=pr[j];k++){int rest=i-1-pr[j]+k;if(k){for(int l=0;l<=c[j+1];l++)tr(f[u][j+1][k-1+l],f[v][j][k]*k%mod*A(rest,c[j+1]-l)%mod*C(c[j+1],l)%mod);}if(s[i]=='1') tr(f[u][j][k],f[v][j][k]);else{for(int l=0;l<c[j+1];l++)tr(f[u][j+1][k+l],f[v][j][k]*c[j+1]%mod*A(rest,c[j+1]-1-l)%mod*C(c[j+1]-1,l)%mod);for(int l=0;l<=c[j+1];l++)tr(f[u][j+1][k+l],f[v][j][k]*A(rest,c[j+1]-l)%mod*C(c[j+1],l)%mod);}}}ll ans=0;for(int i=0;i<=n-m;i++)tr(ans,f[n&1][i][0]*fc[n-pr[i]]%mod);printf("%lld\n",ans);return 0;
}

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

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

相关文章

2025 年 11 月商标注册机构权威推荐榜:专业申请与高效服务口碑之选,商标注册公司推荐

2025 年 11 月商标注册机构权威推荐榜:专业申请与高效服务口碑之选,商标注册公司推荐 在当今竞争激烈的商业环境中,商标作为企业品牌的核心资产,其注册与保护已成为企业战略布局的重要环节。随着知识产权意识的提升…

「学习笔记」PHP 函数安全

PHP 函数安全 is_numeric 检测变量是否为数字或者数字字符串。 当前 PHP 最新版本的 is_numeric 会忽略 %0a 等字符,但 %00 不会被忽略。 PHP 精度 PHP 为双精度格式,IEEE 754。 简单说,IEEE 754 是一个规定了计算机…

2025 年 11 月气动执行器厂家推荐排行榜,齿轮齿条执行器,拨叉式执行器,角行程执行器,不锈钢执行器,三段式执行器,快速执行器,执行器附件公司推荐

2025 年 11 月气动执行器厂家推荐排行榜,齿轮齿条执行器,拨叉式执行器,角行程执行器,不锈钢执行器,三段式执行器,快速执行器,执行器附件公司推荐 在工业自动化快速发展的今天,气动执行器作为关键控制元件,在流…

2025 年 11 月虎头鲨养殖孵化基地厂家推荐排行榜,浙江省大型虎头鲨养殖,虎头鲨孵化,虎头鲨养殖基地公司推荐

2025年11月虎头鲨养殖孵化基地厂家推荐排行榜 浙江省虎头鲨养殖产业发展现状 虎头鲨作为特色水产养殖品种,在浙江省已形成完整的产业链条。近年来,随着生态养殖理念的深入推广,虎头鲨养殖产业呈现出规模化、标准化的…

电子丨DC-DC中的升压、降压、升降压电路解析

在DC-DC电路中,升压(Boost)、降压(Buck)、升降压(Buck-Boost)是三种基本拓扑,通过开关管(如MOSFET)、电感、二极管和电容的配合实现电压转换。以下是它们的电路结构和工作原理详解:1. 降压电路(Buck Conve…

开源 JSON 格式化工具测评:jsonformat——轻量、简洁、可本地运行

在线使用地址: https://rodert.github.io/jsonformat/ @目录🧩 项目简介🧠 功能体验功能点包括:⚙️ 技术实现解析📦 部署方式⚖️ 优点与不足🔍 适用场景推荐💡 改进建议🧭 总结 在前端或后端开发过程中…

001 vue3-admin项目说明与创建

1. 说明本项目使用Vue3全家桶 + Typescript + Vite Node版本:vite需要Node.js版本18+或20+。然而,有效模板需要依赖更高的Node版本才能运行。当你的包管理器发出告警时,请升级你的node版本。本项目采用v22.12.0版本…

团队展示选题

广工枢纽:AI驱动的校园智能信息助手这个项目属于哪个课程 课程链接作业要求 作业链接作业的目标 小组组队,完成团队展示及选题,讨论团队计划、贡献分分配规则Github链接 仓库地址1. 团队展示 (1) 队名:超能女人 (2…

PRML习题 第一章(正在做)

1.1 \(\frac{\partial E}{\partial w}=0\)得到题目所述式子。基础数学。二次函数肯定是当且仅当每一维偏导均为01.2 和上一题几乎完全一致。由此知道归一化的损失函数也是对\(w\)每一维都是二次的式子。1.3 0.34 0.5贝…

十大最佳PDF转换器,可将PDF转换为Word、Excel、PPT、图片格式

PDF 是一种广泛使用的文件格式,便于传输和共享。您可以在 Mac、PC、iPhone、iPad 和其他平台上打开和阅读 PDF 文件。有时您可能需要将 PDF 文件转换为其他格式,例如 .DOC、.DOCX、.TXT 等。在互联网上搜索,您可以找…

dotnet使用redis时需要注意的问题

1.性能问题-批量多次读写、序列化和反序列化的场景 注意看到dotnet下的IDistributedCache接口内部方法声明都是针对单个key的,当需要多次大量读写同一类型kv值时,存在多次连接redis的情况,导致性能特别慢。 在abp框…

《代码大全 2》观后感(四):函数设计 —— 拆解复杂问题的 “手术刀”

《代码大全 2》观后感(四):函数设计 —— 拆解复杂问题的 “手术刀” “函数该写多长?”“一个函数里该放多少逻辑?” 这两个问题曾困扰我很久,直到读了《代码大全 2》中 “函数设计” 的章节,才找到明确的答案…

LeetCode算法模式全解:多语言实现核心数据结构与算法

本项目系统整理了LeetCode高频算法题解,涵盖快慢指针、滑动窗口、单调栈等核心算法模式,提供C#、Java、Python、JavaScript等多语言实现,帮助开发者高效准备技术面试。LeetCode算法模式全解 项目描述 本项目是一个全…

《代码大全2》观后感(三):变量命名——藏在细节里的“代码语言”

《代码大全2》观后感(三):变量命名——藏在细节里的“代码语言” 《代码大全2》用整整一章讲“变量命名”,起初我觉得小题大做——不就是起个名字吗?能区分变量就行。但读完整章才发现,好的命名不是“随便起”,…

2025 年 11 月石墨制品厂家最新推荐,专业制造与品牌保障口碑之选

在石墨制品行业,专业制造能力决定产品品质底线,品牌口碑则反映长期服务价值。为帮助采购方筛选出兼具专业实力与良好口碑的合作厂家,本次推荐依托行业协会最新测评数据,构建 “专业制造 - 品牌口碑” 双核心测评体…

2025 年 11 月石墨制品厂家最新推荐,实力品牌深度解析采购无忧之选!

采购石墨制品时,企业实力是规避合作风险的核心保障,选择实力品牌能大幅降低供货延迟、品质不符等问题。为帮助采购方精准锁定可靠合作伙伴,本次推荐依托行业协会最新测评数据,构建 “硬实力 - 软实力 - 采购保障”…

251101

目录JT-JY11T4S1-1JT-JY11T4S1-2 JT-JY11T4S1-1Good morning, Stretton Festival box office, how can i help you? OH, hello, my family and i are holiday in the area, and we have see some posters about the f…

agent skills - 邂逅那青春

什么是agent skills是什么?将工作流程打包成可以重复使用的技能包 能按照你的标准来完成特定的任务 例如: 产品需求分析是一个skill,那代码审查可以是另外一个skillskill有两个特别强大的特性渐进式披露。传统方式直接…