2025省选模拟6

news/2025/2/5 12:52:35/文章来源:https://www.cnblogs.com/GGrun-sum/p/18675692

2025省选模拟6

T1、 圣诞树

原 cf140E

先说 60 pts 做法:

首先考虑如何处理两层之间的转移。

每两层之间我们只需要用总方案数减去两层重合的方案数即可,对于两层重合的方案数,我们其实并不需要知道具体集合是什么,只需要知道集合的大小,然后乘上一个组合数即可,所以我们需要知道不考虑层与层之间的限制时每层用恰好 $ j $ 种颜色填满的方案数(不考虑有 $ m $ 个颜色,而是只有 $ j $ 个颜色,也就是少一个组合数 $ \binom{m}{j} $ ),设为 $ f_{ l_i ,j} $ ,同时设考虑了层与层之间的限制时每层恰好用 $ j $ 种颜色填满的方案数为 $ dp_{i,j} $ 。

所以我们可以得到转移式:

\[dp_{i,j} = \binom{m}{j} f_{ l_i ,j} \sum_{k} dp_{i-1,k} - dp_{i-1,j} f_{i,j} \]

接下来考虑怎么求 $ f_{i,j} $ ,考虑容斥,我们可以轻松求出来 $ g_{i,j} $ 表示至多用 $ j $ 个颜色涂满 $ i $ 个彩球,那么有

\[g_{i,j} = j \times (j-1)^{i-1} \]

然后我们可以发现有

\[g_{i,j} = \sum_{k=0}^{j} \binom{j}{k} f_{i,k} \]

然后二项式反演可得

\[f_{i,j} = \sum_{k=0}^{j} (-1)^{k} \binom{j}{k} g_{i,j-k} \]

以上是 $ O(len^3) $ 的, $ len $ 表示最大的 $ l_i $ ,瓶颈在求 $ f $ 数组,并且 $ dp $ 数组的转移中的组合数由于模数 $ p $ 不是质数,所以处理起来很麻烦,那我们换种思路。

对于 $ f $ 数组,我们不考虑颜色之间的大小关系,而是按照每种颜色第一次出现的前后顺序确定大小关系,最后乘上一个 $ j! $ ,为什么要这样做,这是我们再看 $ dp $ 转移式发现如果我们把那个组合数拆开的话就有

\[\begin{aligned} dp_{i,j} &= \frac{m!}{(m-j)! j! } \times j! \times f_{ l_i ,j} \sum_{k} dp_{i-1,k} - dp_{i-1,j} f_{i,j} \\ &= \frac{m!}{(m-j)! } f_{ l_i ,j} \sum_{k} dp_{i-1,k} - dp_{i-1,j} f_{i,j} \end{aligned} \]

发现 $ j! $ 消去了,那么剩下的 $ \frac{m!}{(m-j)!} $ 可以直接预处理,接下来就是如何求 $ f $ 了。

其实我们可以直接 $ DP $ ,我们考虑线性转移,每遇到新的一个彩球要染色那么就考虑是新加入一个颜色还是用之前的颜色,对应着有

\[f_{i,j} = f_{i-1,j-1} + f_{i-1,j} \times (j-1) \]

于是我们可以 $ O(\sum_{i} l_i + (\max_{i} l_i) ^2) $ 解决这道题。

T2、 过河

黑暗爆炸 - 4968

建议看原题解。

T3、 点对游戏

注意到贡献是由每对点来的,那么 $ i $ 可以获得一对点的贡献只需要让他们俩同时被 $ i $ 选择即可,那么假设 $ i $ 最后选了 $ y_i $ 个点,那么选择一对点的概率就是 $ \frac{y_i (y_i - 1)}{n(n-1)} $ ,所以最终答案就是

\[\frac{y_i (y_i - 1)}{n(n-1)} \sum_{i=1}^{n} \sum_{j=i}^{n} \sum_{k} [dis(i,j) = k] \]

其中 $ k $ 是给出的那 $ m $ 个数,然后直接点分治即可。

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

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

相关文章

unity里生成的.csproj和.sln :assembly definition

有一段时间一直没明白为啥有的时候第三方的package里的代码没法引用我们项目的,最近有点心得,记录下: 在创建unity项目的时候默认是创建一个解决方案就是以.sln为结尾的。默认开发时都在同一个解决项目里,所以不会出现相互引用不到的问题。当我们引用到第三方的package时就…

【前端框架】2025 React 状态管理终极指南!

全文约 10800 字,预计阅读需要 30分钟。 React 作为当下最受欢迎的前端框架,在构建复杂且交互丰富的应用时,状态管理无疑是至关重要的一环。从简单的本地状态,到能让多个组件协同工作的全局状态,再到涉及服务器通信、导航切换、表单操作以及持久化存储等不同场景下的状态管…

【搜索】多源BFS专题

跳马(多源BFS变种,每个起点有步数限制)补充几个测试样例 输入 3 2 . . 2 . . .输出 0输入 3 5 4 7 . 4 8 4 7 4 4 . 7 . . . .输出 17输入 3 4 . . . . . 2 . . . . . .输出 0输入 3 4 . . . . . 2 2 . . . . .输出 -1本题很坑爹的地方在于,输入的字符串还用空格分开,所以…

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点、160.链表相交、142.环形链表II

9-24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例 1:输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 输入:he…

2025 省选模拟 6

2025 省选模拟 6 A.圣诞树 DP,计数题 考虑题目题目的两个限制相邻两层彩球颜色集合不同同层相邻两个彩球颜色不同发现求出每一行恰好 \(j\) 个颜色后第二个限制很简单就解决了。 设 \(f_{i,j}\) 表示长度为 \(i\) 时恰好有 \(j\) 个颜色的方案数(对于一行考虑) 设 \(g_{i,j}…

第一次

第一次 1. 神秘符文的重复序列 逻辑思维#include<bits/stdc++.h> using namespace std; int main(){int n,k;cin>>n>>k;//长度为n,重复k遍!string s;cin>>s;long long int ans=0;long long int cnt=0;while(k--) {//重复k遍for(int i=0;i<n;i++)…

在kubernates中安装安卓模拟器

1.检测环境 root@xx:~# apt install cpu-checker root@xx:~# kvm-ok INFO: /dev/kvm exists KVM acceleration can be used root@xx:~# ll /dev/kvm crw-rw---- 1 root kvm 10, 232 Jan 15 16:38 /dev/kvm确认/dev/kvm设备存在即可。如果是ESXi虚拟机服务器,则需要在虚拟机配置…

告别虚拟机!WSL2安装配置教程!!!

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 由于Linux的系统的稳定以及在环境管理方面的优越性,同时Linux对于ROS系统的独占,很多时候我们都乐意在Linux系统下开发我们机器人的算法,但是由于Windows和Linux系统的存在内核方面的天壤之别,在我们手边…

windows安装Mosquitto(MQTT服务)

安装说明: https://www.cnblogs.com/xiaosongboke/p/18604458, https://blog.csdn.net/qq_44477552/article/details/143883087设置账号和密码.\mosquitto_passwd.exe -c .\pwfile.example admin注意:CMD以管理员方式运行。 修改配置文件mosquitto.confallow_anonymous fals…

ABC 337 G(主席树)

最近刚学完主席树,找了道题巩固一下,还是非常有收获的。 题目链接:problem 若只让求\(f(1)\),则还是比较简单的——用权值树状数组维护\(dfs\)路径上的数,每次查一下在 递归路径中\(>\)当前结点值 的结点数量,累加起来即为\(f(1)\)。 可是题目要求将\(f(1)到f(n)\)全部…

28. 事件处理

一、事件与事件处理 1.1、什么是事件事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。可视化应用…

2025上半年

孩子们,正睿补习计划重启了。 自建题单:ZR 2022 summer B - Virtual Judge P10447 最短 Hamilton 路径 - 洛谷 | 计算机科学教育新生态 求从 \(1\) 号点出发恰好经过每个点一次并且最终回到 \(1\) 号点的最短路径。 设 \(dp_{i,s}\) 表示恰好经过了集合 \(s\) 中的点一次,当…