\(\mathscr{Description}\)

  Private link.

  给定 \(N,L,X,Y,K\),求选出 \(0\le a_1\le a_2\le\cdots a_{N-1}\le X<Y\le a_N\le L\),使得 \(\sum_{i=1}^{N-1}a_i>a_N\),且不存在某个 \(t\) 在 \(a_{1..N}\) 中出现超过 \(K\) 次的方案数。答案对 \((10^9+7)\) 取模。

  \(N\le8\),其他 \(\le10^9\)。

\(\mathscr{Solution}\)

  我走起来就是一个二元 GF:

\[\cdots=\prod_{i=0}^X\frac{1-y^{K+1}x^{i(K+1)}}{1-yx^i}.
\]

止步于此,大脑空空。惨痛地,我们认识到,尽量不要为了在“描述”时偷懒,毫无顾忌地引入二元。

  先从 \(K\) 次入手,为方便描述集合划分,钦定 \(a_{1..N}\) 乱序排列。那么,设某个值出现了 \(t\) 次,就应当有描述其方案数贡献的 EGF 中,\([z^t]G(t)=[t\le K]t!\cdot\frac{1}{t!}=[t\le K]\)。我们可以 \(\mathcal O(\operatorname{partition}(N))\) 枚举出现次数集合,却很难保证不同集合对应的值确实不同。为此,考虑一个被钦定大小为 \(t\) 的集合的容斥因子贡献,设其 EGF 为 \(F(z)\),就有 \(G=\exp F\Rightarrow F=\ln G\),\([z^t]F(z)\) 就是该集合的容斥系数。

  接着描述选出前 \(N-1\) 个数的过程。枚举 \(n-1\) 的划分 \(c_{1..m}\),有

\[M(z)=\prod_{i=1}^m \frac{1-z^{c_i(X+1)}}{1-z^{c_i}}.
\]

对于 \(s=\sum_{i=1}^{N-1}\in (Y,L]\),其对应 \(a_N\) 的方案数为 \(s-Y\)。这一部分的和为

\[\sum_{s=Y+1}^L(i-Y)[z^i]M(z)=([z^L]-[z^{Y}])\left(\frac{z}{1-z}M'(z)-\frac{Y}{1-z}M(z)\right).
\]

用 EI 求 \([z^n]P(z)/Q(z)\) 的科技(就是常系数齐次线性递推那个)可以算出来。对于 \(s>L\),其贡献为

\[([z^{\infty}]-[z^L])\frac{1}{1-z}M(z).
\]

令 \(z\rightarrow 1\) 洛一洛就能算前一项,后一项和前面类似。复杂度大概是 \(\mathcal O(\operatorname{partition}(n)\operatorname{polylog}(n)\log L)\)。

\(\mathscr{Code}\)

  呜……不想写。

  所以上面的式子可能都是错的,诶嘿。(

Solution -「LOCAL」菜的更多相关文章

  1. Solution -「LOCAL」二进制的世界

    \(\mathcal{Description}\)   OurOJ.   给定序列 \(\{a_n\}\) 和一个二元运算 \(\operatorname{op}\in\{\operatorname{ ...

  2. Solution -「LOCAL」大括号树

    \(\mathcal{Description}\)   OurTeam & OurOJ.   给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 ).将从 \(u\) 到 \(v\) ...

  3. Solution -「LOCAL」过河

    \(\mathcal{Description}\)   一段坐标轴 \([0,L]\),从 \(0\) 出发,每次可以 \(+a\) 或 \(-b\),但不能越出 \([0,L]\).求可达的整点数. ...

  4. Solution -「LOCAL」Drainage System

    \(\mathcal{Description}\)   合并果子,初始果子的权值在 \(1\sim n\) 之间,权值为 \(i\) 的有 \(a_i\) 个.每次可以挑 \(x\in[L,R]\) ...

  5. Solution -「LOCAL」Burning Flowers

      灼之花好评,条条生日快乐(假装现在 8.15)! \(\mathcal{Description}\)   给定一棵以 \(1\) 为根的树,第 \(i\) 个结点有颜色 \(c_i\) 和光亮值 ...

  6. Solution -「LOCAL」画画图

    \(\mathcal{Description}\)   OurTeam.   给定一棵 \(n\) 个点的树形随机的带边权树,求所有含奇数条边的路径中位数之和.树形生成方式为随机取不连通两点连边直到全 ...

  7. Solution -「LOCAL」ZB 平衡树

    \(\mathcal{Description}\)   OurOJ.   维护一列二元组 \((a,b)\),给定初始 \(n\) 个元素,接下来 \(m\) 次操作: 在某个位置插入一个二元组: 翻 ...

  8. Solution -「LOCAL」舟游

    \(\mathcal{Description}\)   \(n\) 中卡牌,每种三张.对于一次 \(m\) 连抽,前 \(m-1\) 次抽到第 \(i\) 种的概率是 \(p_i\),第 \(m\) ...

  9. Solution -「LOCAL」充电

    \(\mathcal{Description}\)   给定 \(n,m,p\),求序列 \(\{a_n\}\) 的数量,满足 \((\forall i\in[1,n])(a_i\in[1,m])\l ...

  10. Solution -「LOCAL」「cov. 牛客多校 2020 第五场 C」Easy

    \(\mathcal{Description}\)   Link.(完全一致)   给定 \(n,m,k\),对于两个长度为 \(k\) 的满足 \(\left(\sum_{i=0}^ka_i=n\r ...

随机推荐

  1. CentOS 7环境下DM8数据库的安装与配置

    一.环境准备 首先,确保你的系统已经安装了CentOS 7,并且具有足够的磁盘空间和内存来支持DM8数据库的运行.此外,你还需要具备管理员权限,以便进行后续的安装和配置操作. 二.下载DM8安装包 访 ...

  2. Java面试真题之中级进阶(线程,进程,序列化,IO流,NIO)

    前言 本来想着给自己放松一下,刷刷博客,慕然回首,线程.程序.进程?Java 序列化?Java 中 IO 流? Java IO与 NIO的区别(补充)?似乎有点模糊了,那就大概看一下Java基础面试题 ...

  3. CMU15445学习记录

    写在开头 我已经深刻意识到找工作的不易,因此想要开始恶补计算机基础知识,以此作为起点 由于考研的时候学过408综合,因此试图逃课CSAPP并直接开始CMU,发表此篇用作记录. 关于底层原理 原理 数据 ...

  4. WiFi基础(七):WiFi漫游与WiFi组网

    liwen01 2024.10.27 前言 无线 WiFi 的优点是方便.灵活,可以接入各种设备.缺点就是信号容易被干扰.信号覆盖范围有限.下面几个问题应该很多人都有遇到过: 为何很多洗手间的 WiF ...

  5. 强化学习:gym下atari游戏环境的官方文档地址

    2024年10月16日 共建议查看两个历史上的官方地址: https://ale.farama.org/ https://www.gymlibrary.dev/ 最新官方地址: https://ale ...

  6. Flink 中的事件时间触发器和处理时间触发器

    EventTimeTrigger EventTimeTrigger 的触发完全依赖 watermark,换言之,如果 stream 中没有 watermark,就不会触发 EventTimeTrigg ...

  7. Blazor 组件库 BootstrapBlazor 中Button组件介绍

    组件介绍 按钮组件,应该是最基础的组件之一了.感觉没什么可介绍的,但是BootstrapBlazor的按钮,还是有很多不错的特性. 首先是最基础的,boostrap5的按钮样式: 代码如下: < ...

  8. 从Hbase shell理解列式存储

    列存储和行存储在理解上的差别挺大,特别是在非常数据行存储之后. 在行存储中,每张表的结构是固定的,某一列可以没有值但是这一列是必须在的.那么可以理解行存储的数据是结构化的. 但是列存储确有每行的数据却 ...

  9. 利用Catalina快速重新指定tomcat的代码路径

    思路: 在/tomcat/conf/Catalina/localhost目录下,建立对应的xml文件,来定义. 方法: 比如:想在 Http://localhost/test-api 显示,且代码放在 ...

  10. 【Amadeus原创】HP惠普笔记本重装系统无法引导无法进操作系统的终极解决方法

    F9进入BIOS-先进(Advanced)-安全引导配置- 启用传统支持和禁用安全引导