多校 A 层冲刺 NOIP2024 模拟赛 08

news/2024/10/19 0:29:08/文章来源:https://www.cnblogs.com/07Qyun/p/18472608

多校A层冲刺NOIP2024模拟赛08

T1 传送 (teleport)

签到题

性质题,注意到对于一个点而言有意义的传送的只有分别按 \(x,y\) 排序后与其相邻的点,证明考虑贪心手模即可。
然后就能上最短路了,dj 的时间复杂度为 \(O((n+m)logn)\)

T2 排列 (permutation)

签到题

状压,注意到 \(\dfrac{n}{k}\) 最大不超过 \(10\),则只需考虑这 \(10\) 个数是否相邻即可,直接状压 \(DP\) 计算只有这 10 个数的方案(若相邻互质则强行塞一个数),然后插板法放回原序列即可。

\(t=\frac{n}{k}\) 时间复杂度为 \(O(2^tt^3+n)\)。(爆标了^^。可以进一步推性质优化状压,还能打表优化,思路来自 xlrong)

T3 战场模拟器 (simulator)

签到题

势能线段树(最基础版),注意到每个人只会死亡一次,每个护盾只会抵挡一次,并且这两个东西的上限都是 \(O(n)\) 级别的,在线段树上直接下放解决即可。

时间复杂度为 \(O(nlogn)\)

T4 点亮 (light)

题意转化,概率DP,二项式反演

很有意思的一道题,感觉 subtask3 也想不到。

先讲讲 \(n≤1000\) 怎么做

首先题意转化一下,称一条边合法当且仅当它能被点亮一次,考虑一种好的方式能更好的统计信息。由预设型 \(DP\) 启发想到按编号从大到小去加边去填写这个图,这样能使信息更具体,并且使得信息没有后效性,那么就可以 \(DP\) 了。

定义 \(f_{i,j}\) 表示 \(i\) 个点还未连边(记为散点),形成了 \(j\) 个连通块时的概率,初始状态 \(1\to f_{n,0}\),答案即求 \(f_{0,k}\)

由于是从大到小加边所以很好转移,分讨一下这条边两端是啥点即可。

散点+散点:产生一个新的联通块,消耗两个散点。

非散点+散点:消耗一个散点。

非散点+非散点:无需转移,因为此时使用的概率 \(DP\),此时已经把这种情况给计算了,这就是概率 \(DP\) 的优越性所在。

概率 DP,只能考虑当前状态的下一步(这样才好计算不同情况的概率),即只能用刷表法转移,以上分讨简单计算一下概率转移即可。

时间复杂度为 \(O(Tn^2)\)

正解

注意到一个联通块内被点亮两次的边只会有一条(记其为关键边),所以题目所求即为恰有 \(k\) 条关键边的概率。

恰有这个限制太强了,考虑弱化这个限制,套路考虑二项式反演由恰好 \(\to\) 钦定。

\(f_i\) 表示钦定 \(i\) 条关键边的概率,\(g_i\) 表示恰好 \(i\) 条关键边的概率。

根据方程定义显然有

\[ f_n=\sum_{i=n}^m\binom{i}{n}g_i \]

由二项式反演得

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

考虑计算 \(f_i\),设 \(S\) 为一种选择关键边的方案,则有\(f_i=\sum_{|S|≥i}P(S)=cnt_{|S|≥i}P\)。显然在钦定完关键边后每种方案的概率是相等的,所以可以分为两部分考虑,即 方案的概率 \(\times\) 方案数。

  • 第一部分,计算方案的概率。因为得满足已经钦定好的边必须为关键边,所以得保证这些边周围边的编号小于它,所以还是考虑从大到小一条边一条边的加入。
    定义所有还未填好钦定的边及其两个端点有关的边为有关边,其他边则为无关边(注意此时无关边的定义)。
    因为限制变为了恰好,所以在计算概率时不用考虑无关边(因为就算无关边成为了关键边也并不与方程定义相悖)。
    现在还是不好直接做,考虑钦定一种填关键边的顺序,再乘上全排变得好做。
    那么答案就变为了每条关键边概率的乘积,而一条关键边的概率即为 \(\dfrac{1}{cnt_{有关边}}\) (因为此时已经钦定了添关键边的顺序所以分子是 \(1\) )。
    所以(分母考虑计算补集即可)。

\[ 一种钦定 i 条边为关键边方案的概率=i!\prod_{j=i}^1\frac{1}{\binom{n}{2}-\binom{n-2j}{2}}\]

  • 第二部分,计算方案数。比较平凡,直接上式子吧 \(\dfrac{A_{n}^{2i}}{i!2^i}\)

\[\begin{aligned} ans&=\sum_{i=n}^m(-1)^{i-n}\dbinom{i}{n}i!\dfrac{A_{n}^{2i}}{i!2^i}\prod_{j=i}^1\frac{1}{\binom{n}{2}-\binom{n-2j}{2}} \\ &=\sum_{i=n}^m(-1)^{i-n}\dbinom{i}{n}\dfrac{A_{n}^{2i}}{2^i}\prod_{j=1}^i\frac{1}{\binom{n}{2}-\binom{n-2j}{2}} \end{aligned} \]

即能在 \(O(n)\) 解决一次回答。

所以时间复杂度为 \(O(Tn)\)

p



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

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

相关文章

数据采集作业2

数据采集作业二 任务1代码链接 代码链接 运行结果任务2代码链接 代码链接 运行结果任务3抓包运行结果

THM-Metasploit

Metasploit Metasploit: Introduction msfconsole #主命令行界面 history #查看之前输入的命令 RHOSTS #目标靶机地址 use #命令后跟编号来选择要使用的模块 show options #查看 back #离开 setg/unsetg #全局变量Metasploit: Exploitation Port Scanning 使用以下命令可以查看…

【视频讲解】共享单车使用量预测:RNN, LSTM,GRU循环神经网络和传统机器学习

全文链接:https://tecdat.cn/?p=37899 原文出处:拓端数据部落公众号 分析师:Xuyan Reng 随着城市化进程的加速,共享单车作为一种绿色、便捷的出行方式,在城市交通中扮演着日益重要的角色。准确预测共享单车的使用量对于优化资源配置、提高运营效率以及满足用户需求具有关…

后台_Eclise配置环境与导入工程

1、配置环境1.1 配置Gradle其中【仓库位置】是你自己创建的,位置可以任意; 【Java_Home】的路径可以在系统根目录下的【.zshrc】查看或【配置】1.2 配置Java版本2、导入工程2.1 选择【文件】-> 【导入】2.2 选择【Gradle】项目2.3 选择工程存放的位置2.4 刷新Gradle项目导…

解决移动端项目在PC端打开后宽度占满屏幕的问题

问题描述 移动端的项目在PC端打开后,对于带有固定定位的元素,宽度沾满的整个视窗的宽度。即使body,html限制了最大宽度 <body><div class="box"></div> </body><style>body{max-width: 500px;margin: 0;background: #aaa;height: 1…

20241016下午

P1040 启发式图染色问题(color) 我们可以先想一棵树的情况,如下图所示但是显然这个节点数量是 \(2 ^ k\),我们可以考虑二分图,然后你推着推着就会发现一个建图方案具体来说,我们可以现在左边创建一个颜色为 \(1\) 的结点,然后我们想让颜色数量尽量多,我们直接在右边创建一个颜…

数据采集与融合第二次作业

码云仓库地址 https://gitee.com/sun-jiahui22/crawl_project作业1仓库地址 https://gitee.com/sun-jiahui22/crawl_project/tree/master/作业2/实验2.1作业2的仓库地址 https://gitee.com/sun-jiahui22/crawl_project/tree/master/作业2/实验2.2作业3的仓库地址 https://gitee…

IntelliJ IDEA 2024 安装使用 (附加激活码、补丁,亲测有效!)

第一步:下载 IDEA 安装包 访问 IDEA 官网,下载 IDEA 2024.1.4 版本的安装包,下载链接如下 : idea官方链接也可以在这里点击下载idea下载idea 第二步: 安装 IDEA点击xx 关掉程序! 第三步: 下载补丁 下载地址(里面包含激活码)https://pan.quark.cn/s/9dbfe698c064 补丁下载成…

PYNQ z2 使用xadcps读取xadc内部电压温度

使用xadcps只能和JTAG一样读取温度值和电压值,属于内部通道,读取不了外部通道的数据 添加zynq700核后进行配置 1.在PS-PL Configuration中, 取消勾选general里面的FCLK_RSTEN_N以及M_AXI_GP0_Interface2.在Peripheral IO Pins中勾选14 15对应的UART0, 同时对板卡电压进行配置,B…

控制结构

任何复杂的结构化程序都是由三种基本结构组成:顺序结构,分支结构、循环结构。 分支结构 单分支。if 双分支。if else 多分支。else if else if多分支 switch多分支 else if 于 switch多分支的区别循环结构 for循环 while循环 do while循环 for、while与do ... while语句的比较…

JAVA基础知识补漏

变量类型 1.类变量:static 2.实例变量:需要new 3.局部变量:必须初始化 常量 final 一般用大写表示 命名规范 所有变量、方法、类名:见名知意 类成员变量:首字母小写和驼峰原则:monthSalary 局部变量:首字母小写和驼峰原则 常量:大写字母和下划线:MAX_VALUE 类名:首字母大写和…

《恋与深空》游戏拆解

游戏背景与世界观《恋与深空》是一款女性向3D手游,设定在未来的科幻世界。玩家与多名男性角色互动,通过一系列科幻冒险推动剧情发展。角色设定与互动机制玩家可以与多个男性角色展开深度互动,每个角色不仅有鲜明的个性和背景故事,还伴随着成长线的发展。角色的互动不仅仅是…