多校 A 层冲刺 NOIP2024 模拟赛 21

news/2024/11/14 8:38:56/文章来源:https://www.cnblogs.com/07Qyun/p/18542658

多校A层冲刺NOIP2024模拟赛21

T1 送信卒

签到题

答案显然具有单调性,考虑二分答案,然后使用跑 dj check。

时间复杂度 \(O(nm\log (nm)\log (V))\)

T2 共轭树图

特殊性质,树形 DP

考虑链怎么做,注意到一个性质,一条链上产生在 \(G\),将 \(G\) 中的边放到原树上是不交的,证明考虑反证法构造一个嵌套形式的边是不可能的。

考虑 DP,设 \(f_{x,i}\) 表示考虑以 x 为根的子树,\(x\) 可以考虑向上连 \(i\) 祖先,注意祖先不一定相邻,但是不相邻是不影响方案数的。

转移考虑从下向上枚举祖先转移即可。

\[f_{x,i}=\sum_{j=1}^{i}\prod_{v\in son_x}f_{v,i-(j-1)+1} \]

直接转移是 \(O(n^3)\),优化考虑 \(f_{x,i}\)\(f_{x,i+1}\) 和式之间只会相差一项,可以前缀和优化。

这样时间复杂度就能降低到 \(O(n^2)\)

T3 摸鱼军训

特殊性质,手模,线段树二分

\(p_x\)\(x\) 最初的位置。

对于一个询问考虑三种情况。

  • \(k>n-x\),此时答案显然为 \(x\)

  • \(k\le cnt_{在 x 之前大于 x 的个数}\),此时答案为 \(p_x-cnt\),证明考虑冒泡排序是一个指针维护前缀最大值。

  • \(k>cnt\),首先会进行第二种情况,记 \(k=k-cnt\),此时情况比较复杂,考虑简化一下问题,此时只用考虑与 \(x\) 相比较的大小关系,将小于 \(x\) 看作 \(0\),将大于 \(x\) 看作 \(1\),手模一下发现每次冒泡排序会减去 \(x\) 后面第一个 \(1\),且其他的相对位置不变,所以可以考虑线段树上二分找到位置。

由于第三种情况的问题转化,得离线下来从大到小解决问题。

线段树需要支持单点加,单调求和,树上二分。

时间复杂度为 \(O(n\log n)\)

T4 神奇园艺师

计数题,组合数学,优化式子

注意到每个集合的每个质数的贡献是独立的,且只与指数有关。

考虑怎么计算一个集合的一个质数的贡献。

因为贡献为 \(\min\{\sum_i|r_i-p|\}\),经典结论 \(p\) 为中位数,证明考虑随便选一个位置然后移动计算贡献变化量。

这样太傻了,考虑拆贡献,由于 \(p\) 为中位数,所有小于 p 和大于 p 的个数相等,所以能两两匹配构成一个线段,而这两个的贡献和就为这个线段的长度,所以可以考虑前缀和差分拆贡献,即在中位数左边的贡献为 \(-r_i\) 在中位数右边的贡献为 \(r_i\)( 这样如果没有这个质因子,则不会有贡献 ),考虑分开讨论这两种情况,然后可以枚举两侧的个数乘上组合数即可。这样就能得到一个 \(O(n^3)\) 的做法。

考虑推式子优化。

上式为

\[\sum_a\sum_br_i([a>b]-[a<b])\binom{i-1}{a}\binom{n-i}{b} \]

两个和式的关联太弱了,考虑分讨一种 \(a,b\) 之间的关系然后枚举它们之间的差值( 设为 \(d\) )。

以下为 \(a<b\) 的情况,省略了贡献

\[\begin{aligned}&\sum_{d=1}^{n-i}\sum_{a=0}^{\min(i-1,n-i-d)}\binom{i-1}{a}\binom{n-i}{a+d} \\ =&\sum_{d=1}^{n-i}\sum_{a=0}^{\min(i-1,n-i-d)}\binom{i-1}{a}\binom{n-i}{n-i-a-d} \\ &注意到后面一个和式构成了范德蒙卷积的形式 \\ =&\sum_{d=1}^{n-i}\binom{n-1}{n-i-d} \\ =&\sum_{d=0}^{n-i-1}\binom{n-1}{d}\end{aligned} \]

同理可以推出 \(a>b\) 的方案数为 \(\sum_{d=}^{i-2}\binom{n-1}{d}\)

发现上指标不变,所以可以前缀和预处理组合数。

\(s_i=\sum_{d=0}^i\binom{n-1}{d}\),则贡献为 \(r_i(s_{i-2}-s_{n-i-1})\)

由于是指数不会太大,可以使用桶排。

时间复杂度为 \(O(n\log n)\)

p

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

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

相关文章

APISR:受动漫制作启发的现实世界动漫超分辨率

APISR:受动漫制作启发的现实世界动漫超分辨率虽然现实世界的动漫超分辨率(SR)在SR社区越来越受到关注,但现有的方法仍然采用真实感领域的技术。分析了动漫制作工作,并重新思考了如何为了现实世界的动漫SR而使用它的特点。首先,由于手绘框架的重复使用,视频网络和数据集对…

2024.11.12 2024 CCPC女生专场

2024 CCPC女生专场 Solved:10/13 Penalty:1299 Rank:6今年题有这么简单吗?还是队伍变强了? 我做起来感觉比去年和前年都难。。感觉前两年至少都有 7~8 道签到,今年从 4~5 题就需要思考了。C. CCPC 题意:重排字符串使得形如 CCPC 的子串最多。 CCPCCP...CCPC #include<…

2024.11.12 CCPC2024女生专场

CCPC2024女生专场 Solved:10/13 Penalty:1299 Rank:6今年题有这么简单吗?还是队伍变强了? 我做起来感觉比去年和前年都难。。感觉前两年至少都有 7~8 道签到,今年从 4~5 题就需要思考了。C. CCPC 题意:重排字符串使得形如 CCPC 的子串最多。 CCPCCP...CCPC #include<…

串行总线的学习

一、USB概念 Universal Serial Bus,简称 USB。中文翻译称为通用串行总线,是一种串口总线的标准,也是一种输入输出接口的技术规范 二、USB接口外形分辨主要类型:Type-A,Type-B,Type-C,Micro,Mini下面以USB2.0协议展示不同类型接口的形状 Type-AType-B 通常在打印机设备使用,…

一文搞懂 ARM 64 系列: PACISB

一文搞懂 ARM 64 系列: PACISB1 PAC AMR64提供了PAC(Pointer Authentication Code)机制。 所谓PAC,简单来说就是使用存储在芯片硬件上的「密钥」,一个「上下文」,与「指针地址」进行加密计算,得出一个「签名」,将这个「签名」写入指针的高bit上。计算出来的「签名」之所以…

NewStarCTF-pwn

NewStarCTF-pwn目录NewStarCTF-pwnweek1overwriteread() 参数gdbweek2week3week4 week1 overwrite 首先查看文件,保护全开,为64位放入IDA查看代码,发现关键函数func()第9-12行代码,首先打印提示信息“pls input the length you want to readin: ”,然后使用__isoc99_scanf…

Animal Controller文档——Animal Modifiers

Overview 是一个结构类,在进入新动画时修改Animal的Main Core功能。通常用于States或Animator Controller中的Animal Modifier Behaviour组件。有关如何使用这些的更多信息,请参阅States页面。Parameters RootMotion 启用/禁用Animator上的Root Motion。 Sprint 启用/禁用Ani…

南开高级语言程序设计2--OJ题目答案

注意:素数是从2开始,2也是素数 第七章(运算符重载) #include <cstdio> #include <iostream>using namespace std; int gcd(int a, int b) {return b ? gcd(b, a % b) : a; } int lcm(int a, int b) {return a * b / gcd(a, b); } class Rational { private:in…

Animal Controller文档——States

Overview States是动物控制的核心逻辑,使动物能够移动、坠落、跳跃、死亡等。 States的动画相互独立。例如,动物不能同时处于奔跑和跳跃,或飞行和游泳状态。 它们按优先级排序,优先级高的状态将优先尝试激活,之后才是优先级低的状态。如果一个高优先级状态是当前激活的状态…

开源 - Ideal库 - 常用枚举扩展方法(一)

分享枚举操作常用扩展方法,适用正常枚举和位标志枚举。包括名称/描述转枚举、转枚举值或默认值等方法,并附上详细单元测试。代码库已上传,可直接使用Ideal.Core.Common。今天和大家享一些关于枚举操作相关的常用扩展方法。我们平时用的比较多的是正常枚举,同时还有加[Flags…

2024腾讯云双十一必抢清单:省钱、省心、省力的购买攻略

一、前言 大家好,我是 Neo!一年一度的双十一购物狂欢节又到了!在这个特别的日子,腾讯云也推出了超一、前言 大家好,我是 Neo!一年一度的双十一购物狂欢节又到了!在这个特别的日子,腾讯云也推出了超值的优惠活动。最近我正好在做自己的小程序项目,需要用到服务器,特意…

Pytest自动化发现测试数据并进行数据驱动-支持YAML/JSON/INI/CSV数据文件

需求在测试框架中,往往需要测试数据和代码分离,使用CSV或JSON等数据文件存储数据,使用代码编写测试逻辑 一个用例过程往往可以测试多组数据,Pytest原生的参数化往往需要我们自己手动读取数据文件,比较麻烦又略显混乱 我们如何能把数据文件按约定的目录和文件名存起来,文件…