计数题做题记录

news/2025/3/6 15:33:58/文章来源:https://www.cnblogs.com/liuir/p/18755281

\(\text{I}\). [AGC035F] Two Histograms

显然一个网格不只对应一个操作序列,于是考虑什么情况下一个网格会对应多个操作序列。一个简单的例子如下

0 0 1 0
0 0 1 0
0 0 1 0
1 1 1 0
0 0 0 0

此时 \(k_3=2\land l_3=3\)\(k_3=3\land l_3=2\) 就重复了。因此,猜测不考虑存在 \(i,j\) 满足 \(k_i=j-1,l_j=i\) 的网格就可以不重不漏的表示每一种情况:

  • 不漏:考虑将 \(k_i\) 改为 \(j\)\(l_j\) 改为 \(i-1\) 后网格显然不变。

  • 不重:考虑两个不满足上述条件的操作序列 \(k,l\)\(k^\prime,l^\prime\),假设两者表示的网格是相同的。

    找到最小的 \(j\) 满足 \(l_j\not=l^\prime_j\),不妨设 \(l_j<l^\prime_j\)。记 \(i=l^\prime_j\)

    因为 \((i,j)\) 这个位置要相同,所以有 \(k_i\ge j\land k^\prime_i<j\)。然后再分类讨论:

    • \(j=1\),说明 \(k^\prime_i=0=j-1\),与题设矛盾。

    • 否则,有 \(k^\prime_i<j-1\)。又因为 \(l_{j-1}=l^\prime_{j-1}\),所以 \((i,j-1)\) 这一位置不合法,与假设矛盾。

综上,只需计数不存在 \(i,j\) 满足 \(k_i=j-1,l_j=i\) 的网格的情况。

考虑容斥,将一组 \(k_i=j-1,l_j=i\) 看作匹配。设 \(f_i\) 表示钦定形成了 \(i\) 对匹配的方案数,那么有

\[f_i=\binom{n}{i}\binom{m}{i}i!(n+1)^{m-i}(m+1)^{n-i} \]

前面的 \(\binom{n}{i}\binom{m}{i}i!\) 是选出 \(i\)\(i\) 列并匹配的方案数,后面的是其他行列的方案数。

而不存在匹配的方案数就可以容斥,得到

\[ans=\sum_{i=0}^n(-1)^if_i \]

\(\text{II}\). [ABC306Ex] Balance Scale

先不考虑 = 的情况。

考虑若 \(v(a_i)<v(b_i)\),就从 \(a_i\)\(b_i\) 连一条有向边。这样一定会形成 DAG。

考虑在 DAG 上分层 DP。设 \(f_s\) 表示点集 \(s\) 内的方案数,每次加入在最后加入点集 \(t\)

但这样会算重,考虑给每个 \(t\) 一个容斥系数。手模一下可以发现容斥系数为 \((-1)^{\left|t\right|+1}\)

再考虑 =,这就相当于在图上把两个点缩成了一个点。

然后再枚举 \(t\),这时 \(t\) 内部的边都一定是 =,容斥系数为 \((-1)^{\text{连通块个数}+1}\)

\(\text{III}\). Luogu P11173 「CMOI R1」We Want To Run / Nilpotent

经典地,把矩阵看作一张图。那么一张图的贡献就是其最长路径上的节点数,若有环则无贡献。

进一步的,对于一个 DAG,它还对应这 \((a-1)\) 的边数次方个矩阵,所以贡献要乘上这个系数。

先考虑一个暴力的 DP,设 \(f_{d,i,j}\) 分别表示当前的 DAG 有 \(d\) 层,总节点数为 \(i\),最后一层的节点数为 \(j\) 时对应的矩阵的方案数。那么答案就是 \(\sum_{d=1}^n\sum_{i=1}^nf_{d,n,i}\times d\)

转移就枚举下一层的节点数 \(k\),然后考虑计算系数。显然有 \(\binom{n-i}{k}\),至于剩下的,这一层的 \(j\) 个点中至少要连一条边,方案数为

\[\sum_{l=1}^j\binom{j}{l}(a-1)^l=a^j-1 \]

类似地,上面的 \(i-j\) 个点可以随便连,方案数为

\[\sum_{l=0}^{i-j}\binom{i-j}{l}(a-1)^l=a^{i-j} \]

这样是 \(O(n^4)\) 的,考虑优化。

注意到 \(d\) 不会影响转移,只会用于计算答案,于是另设 \(g_{d,i,j}=f_{d,i,j}\times d\),这样就可以把 \(d\) 这一维消掉了。

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

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

相关文章

欢迎加入ARM64技术手册知识库

本文来自博客园,作者:dolinux,未经同意,禁止转载

基因测序芯片(Flowcell)加工工艺 -赛陆医疗

一、公司简介: 赛陆医疗是一家测序和空间组学平台开发商,公司专注于开发自主知识产权的上游测序平台,并基于其上构建了全球领先的超分辨空间组学平台,实现基因组学和空间组学产品的自主开发及科研临床端转化。公司创立于2020年,由美国知名大学教授和三位深圳市孔雀人才联合…

PTA L1-044 稳赢

PTA L1-044 稳赢 题目描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。 输入格式 输入首先在第一行给出正整数K(≤…

【详细教程】智慧职教MOOC如何下载已结束课程中的视频课件PPT文档资料?

前言:智慧职教MOOC中的有些课程非常好,但是经常会遇到课程已关闭,无法打开查看。这次教大家如何用学无止下载器,把已结束无法打开的课程中的视频课件资料,下载到本地离线观看学习~ 一、电脑浏览器打开智慧职教MOOC网页版 智慧职教MOOC官网:【https://mooc.icve.com.cn/c…

[CSS 3] Tailwindcss 响应式设计

## 响应式断点 *Tailwind CSS* 默认提供了一组预设的断点,即屏幕尺寸范围,用于管理响应式样式。默认的断点包括: - *sm*: *640px* 及以上- *md*: *768px* 及以上- *lg*: *1024px* 及以上- *xl*: *1280px* 及以上- *2xl*: *1536px* 及以上 例如: ```html<img class="…

AI赋能软件测试:从自动化到智能化

一、为什么测试工程师需要关注AI? 传统测试的困境:重复劳动陷阱:手工编写测试用例、反复验证边界条件、兼容性测试的“设备海洋”消耗大量人力。“后知后觉”的反馈:性能瓶颈常在用户量激增后才暴露,修复成本高昂。“看不见的盲区”:复杂业务场景下,人类难以穷举所有异常…

No.35 Element对象属性、Element获取元素位置

、 一、元素对象属性Element对象对应网页的 HTML 元素。每一个 HTML 元素,在 DOM 树上都会转化成一个Element节点对象(以下简称元素节点)。1.1 .idElement.id 属性返回指定元素的id 属性,该属性可读写.1.2 .classNameclassName 属性用来读写当前元素节点的 class 属性。 它的…

绑定元素“seriesName”隐式具有“any”类型

const book = {...actions: {mergeBook({ state, commit }, data: any) {return axios.patch(`/books/merge`, data).then((res: any) => {return res;});}}, };在typescript的编译过程中,函数的参数被提示 {变量名} implicitly has an ‘any’ type,但是笔者也不知道应该…

跨应用启动UIAbility

跨应用启动UIAbility 上篇介绍了应用内启动UIAbility,这篇介绍下应用间的启动方式 应用间UIAbility跳转使用openLink()与startAbility()两个接口均可以实现,应用间跳转主要基于应用链接进行实现(应用内界面跳转页可以通过URI的方式打开),应用链接格式scheme://host[:port]/p…

virtualbox下载安装配置

virtualbox下载安装配置 下载 https://www.virtualbox.org/ 官网 https://www.virtualbox.org/wiki/Downloads 官网下载页 https://www.filehorse.com/download-virtualbox/old-versions/ 历史版本推荐使用第三个网址即可,我这里是安装的6.1.26版本 安装 右键安…

奶龙验证app

主要加密逻辑和密文 先encrypt加密 然后进行AES/GCM/NoPadding加密 再使用base64加密 对密文解密为乱码,所以将其转换为hexAES-GCM模式 解密时需要的tag是在加密的过程中产生的 为密文的后2,4,8或16位解密 “{”的ASCII码为123encrypt加密在so层为魔改base64大概可以这么理解…