当前位置: 首页 > news >正文

AT_wtf22_day2_d Cat Jumps

这道题无可挑剔。

当学识累计到一定程度之后,我越发感觉到了人类的强大和人类的弱小。

首先计数题先确定我们到底要统计什么方案,发现题目让我们统计的是序列种数,也就是说我们并不关心每一项的标号,只关心它的值。

但是这就显得不太好处理了,由于我们大致确定的思路是在 \(A\) 的视角下进行计数,所以我们不妨将 \(A\) 序列的每一项带上标号,最后再除以每种数个数的阶乘即可。

现在问题仍然不好做,考虑一个经典的套路,我们很难求恰好 \(k\) 个的方案数,但是我们钦定 \(k\) 个事容易的,于是我们使用二项式反演,将问题变成求将 \(A\) 的元素和若干负一塞入 \(k\) 个有标号的“集合”,每一个“集合”总和为零,同时我们再确定“集合”内顺序的方案数。

那么我们假设一个集合内 \(A\) 的和为 \(s\),元素个数为 \(c\),那么方案数为 \((s+c)^{\underline{c}}\)。可是如果我们直接计数仍然很难入手,不过我们的方案数看着就是有性质的,问题在于如何运用。

人类的力量在此刻展现,我们将问题进行刻画,我们对于同一个集合,不妨设其下标集合为 \(\{p_1,\cdots,p_m\}\),那么对于任意 \(1\le i\le m\),向外连一条边连向 \(j\),边权为 \(A_{b_j}+[b_j\le b_i]\),求所有连边方案的权值和。运用加法原理和乘法原理不难发现,我们求的东西就是 \((s+c)^{\underline{c}}\)

这么做的好处是给了我们一个厉害的角度,或者说,对于我们人类来说更直观的角度。我们不妨对于每一种整体上的连边方案考察其贡献。你发现这是一棵标准的基环树森林,并且属于同一连通块的点一定被分到了同一集合,假设一共有 \(j\) 个连通块,那么我们发现它对于钦定 \(i\) 个集合的方案的贡献为 ${j\brace i}i! $,因为你发现这就是 \(j\) 个不同的元素放入 \(i\)不同的非空子集的方案数。

于是考虑计数有 \(j\) 个连通块的权值和,由于是基环树森林,我们可以转化为更简单的对环的数量计数。而这个仍然不好求,继续利用二反套路,求钦定 \(k\) 个环的答案。

对于不在环内的元素 \(i\),贡献是 \(\sum A + i\)。而对于在环内的点,仍然是 \(A_j+[j\le i]\)。如果只有前者我们直接使用第一类斯特林数即可解决问题,而我们还有一个 \([j\le i]\) 需要处理。

这里我们可以直接使用一个技巧,就是拆括号内的加减法算贡献,这样看似是问题变复杂,但有可能出现更好的直观的性质能够给我们使用,去减少复杂度。现在我们将一个环分解成若干条链,每条链的链首贡献为 \(A_i\),后面的贡献都是 \(1\),满足编号递减。其贡献来自于连到它的边。那么你就可以统计之后剩下多少条链再使用第一类斯特林数合并链算贡献即可。

具体的,从大到小枚举 \(i\),我们设 \(f(i,j)\) 表示考虑到 \(i\)\(j\) 条链的方案数,加入一个数分类讨论它不在环内,作为链首和不作为链首的方案数。

但是你发现你不能处理自环,因为如果你没有选择 \(A_i\),自环仍然会产生贡献。我们把贡献变成 \(A_j+1-[j>i]\),就可以直接处理贡献了,步骤跟刚刚差不多没什么区别。

时间复杂度 \(\mathcal{O}(n^2)\),一步一步往回推即可,式子认真推写起来很快。

http://www.jsqmd.com/news/125307/

相关文章:

  • 闲鱼商品监控系统2025完整指南:从零搭建到实战精通
  • 2025年汽车租赁门店口碑排行榜出炉!优质的汽车租赁聚焦技术实力与行业适配性 - 品牌推荐师
  • Performance-Fish终极性能优化:一键解决环世界卡顿问题
  • APA第7版参考文献格式一键生成:3步搞定专业学术论文排版
  • 如何快速掌握BooruDatasetTagManager:图像标签管理完整指南
  • Performance-Fish:让《环世界》告别卡顿的终极性能优化方案
  • 2025十大装修公司售后服务深度对比指南:选对售后,入住无忧 - 品牌测评鉴赏家
  • 碧蓝航线Alas脚本数据统计终极指南:从零掌握游戏数据分析
  • CF2006C Eri and Expanded Sets
  • Audiveris终极指南:免费开源乐谱识别工具快速上手
  • AEUX插件深度解析:打通设计到动效的最后一公里
  • 鸿蒙开发实战:从0到1打造全场景高体验应用,这些技巧直接抄作业!
  • 革命性APA第7版参考文献生成器:3分钟智能化排版解决方案
  • Nintendo Switch全能文件管家:NSC_BUILDER从入门到精通
  • 快速理解JLink接口定义:常见术语解读
  • vivado安装包从零开始:完整指南助你顺利配置环境
  • Switch系统配置实战手册:从入门到精通
  • FreeMove工具深度解析:三步实现程序目录智能迁移
  • 校园热水自由:蓝牙水控器开源方案完全指南
  • 攻克Ryzen平台调试瓶颈:SMUDebugTool实战指南
  • 树上差分
  • 2025二手房翻新避坑指南:这几家靠谱公司让老房焕新不踩雷 - 品牌测评鉴赏家
  • Wallpaper Engine资源管理终极指南:RePKG工具让PKG解包和TEX转换变得轻而易举
  • 无需抠图!Qwen-Image-Layered 一键分解图像图层,支持图层级精准编辑
  • 小白必看!第一次装修选对公司少踩坑,4家省心装修品牌推荐 - 品牌测评鉴赏家
  • 手把手教你用Sunshine把旧电脑变成游戏串流神器
  • 终极指南:碧蓝航线自动脚本Excel数据导出完整教程
  • 告别旧房烦恼!靠谱二手房翻新公司大揭秘 - 品牌测评鉴赏家
  • 如何快速解决BlenderKit上传错误:专业调试指南
  • Switch大气层系统配置指南:新手零基础到精通全流程