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

题解:AT_abc225_h [ABC225H] Social Distance 2

组合意义太吃操作了,还是得我代数推导牛。

题意:给出若干个已有元素 \(a_i\),要求加入一些 \([1,n]\) 内的数且不能和 \(a\) 中已有的相同,使得长度为 \(m\)。定义 \(f(a) = \prod\limits_{i=1}^{m-1} (a_{i+1}-a_i)\),求所有生成的 \(a\)\(f\) 之和。

做法:

首先注意到两段之间的是独立的,同时总和是 \(O(n)\) 的,所以直接考虑把所有段的生成函数弄出来分治乘就可以做到 \(O(n\log ^2n)\),现在的问题是每段之间。

假设长度为 \(l\),分成 \(k\) 段,那么直接写出来生成函数:

\[[x^l]F_k(x) = [x^l] G(x)^{k} \]

这里 \(F_k(x)\) 是划分成 \(k\) 段的生成函数,\(G(x) = \sum\limits_{i=1} ix^i\)

化简 \(G\),变成若干个 \(\frac{x^k}{1-x}\),算出来最终是 \(\frac{x}{(1-x)^2}\)

那么带入回原柿,可以得到 \([x^l]F_k(x) = [x^{k-l}]\frac{1}{(1-x)^{2l}}\)

右边这个柿子我们把这个分式再还原成 \((1+x+x^2\cdots)\),发现这个东西就等于我有 \(k-l\) 个球放入 \(2l\) 个有区分盒子,直接插板得到方案为 \(\binom{k+l-1}{2l-1}\),直接 \(O(1)\) 计算即可。

注意到两端的段其实会少一个乘积,但是也很容易,就是我把一个 \(G\) 换成 \(\frac1{1-x}\),次数少 \(1\) 而已,方案为 \(\binom{k+l-2}{2l-2}\)。如果没有已有元素,即两端都缺,那就再减一即可。

http://www.gsyq.cn/news/42270.html

相关文章:

  • 数学分析A 定理简单整理(部分)
  • 第3章 多线程服务器的适用场合与常用编程模型 - 教程
  • 表相关操作
  • 部分页面统计用户访问时长
  • 单词故事
  • ai学习机哪个品牌好?松鼠 AI 双线矩阵:学习机 + 自习室,提分更高效
  • 招聘实习生丨加入我们,共建 RTE 开发者社区
  • 引领未来,智启新程:Compete MIS平台——低代码时代的全能信息化管理解决方案
  • 2025.11.06 - A
  • CF2085D Serval and Kaitenzushi Buffet
  • startctf环境变量注入及强网拟态smallcode特殊解法
  • NOIP模拟赛20251106 T4 CF1270H
  • 详细介绍:电阻的分类与应用
  • wepoc Nuclei 漏洞扫描器图形界面工具
  • 团队第一次作业
  • Tomassi计算机
  • 2025年上海防水补漏TOP5最新评测:从屋顶到地下室,全场景解决
  • 线段树维护区间历史信息和为例的复杂信息维护同标记下传设计技巧简记
  • 每日总结(三)
  • 飞牛nas播放卡顿的解决方案
  • 25.11.6联考题解
  • 2025/11/3 ~ 2025/11/9 做题笔记 - sb
  • 利用Google Dork挖掘敏感文件setup.sh的技术解析
  • 2025.11.6~?
  • golang面经——内存相关模块 - 详解
  • QOJ4795 Taxi
  • 蓝牙耳机怎么连接电脑?【图文详解】蓝牙耳机连接电脑?蓝牙耳机能连接电脑吗?USB蓝牙适配器? - 详解
  • AI浪潮下的就业迷思:技术迭代还是泡沫破灭?
  • Spring BeanFactory 接口
  • 备考笔记8