当前位置: 首页 > news >正文

CCPC 2024 河南省赛

自己当时没有做出来的题目标 *。

A*

比较好奇怎么想到的。

\(N=1234567890+d\),则 \(N\) 是一个符合条件的数字。

但是这个数必须是 \(n\) 的倍数,记 \(t=\log_{10}n\),则令 \(k=\frac{N\times 10^t}{n}\) 上取整。

这样,\(nk\) 的值比较接近 \(N\),就算无法整除,上取整也只会影响后 \(t\)\(+n\),对答案没有影响。

复杂度 \(O(T)\)

B

注意到每次一定只会在严格后缀最小值的地方买,如果不在,可以在这个地方放弃购买,在当前位置的后缀最小值处买,一定更优。

求一遍后缀最小值,模拟即可。

复杂度 \(O(n)\)

C*

首先,设 \(x\)\(st_x\) 第一次出现,\(ed_x\) 最后一次出现,则最终序列一定满足 \([st_x,ed_x]\) 内的数相等。

用并查集处理相等关系,最后得到若干连续段,每次可以让段内的所有元素变成一个相同的值,让变化的元素种类数尽可能小。

变化种类数小,等价于不变化的种类数多,一个连续段内至多一个种类的数字不变。

一个非常巧妙的做法是段内元素降序排列,然后求严格 LIS。LIS 包含 \(x\) 等价于段内所有元素变成 \(x\),否则被前后两个元素段夹着。

直接树状数组求即可,复杂度 \(O(n\log n)\)

D*

推一推式子,把绝对值去掉:

\[\dfrac{|x_P-x_Q|+|y_P-y_Q|}{\sqrt{(x_P-x_Q)^2+(y_P-y_Q)^2}} \]

\[\dfrac{(|x_P-x_Q|+|y_P-y_Q|)^2}{(x_P-x_Q)^2+(y_P-y_Q)^2} \]

\[\dfrac{(x_P-x_Q)^2+(y_P-y_Q)^2+2|x_P-x_Q||y_P-y_Q|}{(x_P-x_Q)^2+(y_P-y_Q)^2} \]

\[1+\dfrac{2|x_P-x_Q||y_P-y_Q|}{(x_P-x_Q)^2+(y_P-y_Q)^2} \]

\[1+\dfrac{2}{\frac{|x_P-x_Q|}{|y_P-y_Q|}+\frac{|y_P-y_Q|}{|x_P-x_Q|}} \]

求分母的最小值,均值不等式一下,这个在 \(|x_P-x_Q|=|y_P-y_Q|\) 会最优,在实际问题中体现为两点连线斜率接近 \(45/135\) 度(赛时止步于此)。

对于处理这种两点连线斜率接近某一定值的问题,可以旋转坐标系转化为斜率接近水平。此时一定可以发现按照 \(y\) 排序后,最优点对一定在相邻两项之间。

因为旋转坐标,问题就是按照 \(x+y/x-y\) 排序后,最优点对一定在相邻两项之间。复杂度 \(O(n\log n)\)

E*

卡常码农题,并不是很可做。

F

模拟即可,复杂度 \(O(T)\)

G*

比较精妙的构造题。

首先对于 \(m\ge 2n-1\) 的情况,可以把最后一列和最后一行都埋上雷,这一部分不会出现不合法的问题。问题变成在 \(n-1\) 大小矩形内埋雷。

反之,可以选择两条相邻的对角线,埋上雷后也一定不会出现不合法的情况,但这一部分埋的雷的数量是奇数。

剩余 \(1\) 可以塞在矩形的令外一个角上,复杂度 \(O(n^2)\)

H

首先,最终的序列一定是确定的,可以得到每个取出操作取出的是哪个数。

设第 \(i\) 次取出操作取出值 \(x\)。则这一步的总方案数是 \(|S|\),合法的方案数是 \(S\)\(x\) 的数量。

然后乘起来就没了。

I

为啥没人切。

首先枚举 \(p\) 是一个调和级数,复杂度为 \(O(n\log n)\)

在判断 \(p\) 合法的同时,需要快速找到字符串从两个位置开始匹配第一个失配的位置,这个过程不超过 \(k\) 次,这一部分是 \(O(nk)\) 的。

瓶颈在于找到字符串从两个位置开始匹配第一个失配的位置,其实就是求 LCP,预处理 SA 转换为 RMQ 问题,可以 \(O(1)\)

复杂度为 \(O(n\log n +nk)\)

J

枚举全排列,预处理 \(10^5\) 内所有质数。

K

换根 dp 板子题。

一个更优秀的做法是对于两个点,如果 \(u\) 可以做 \(v\) 的儿子,则连有向边。

最终缩点后的形态是一个树(如果有向边看成无向边)。若树有根(看成有向边),则合法点数就是数的根所在强联通分量大小。

否则无解,其实不需要 Tarjan。原图的特殊性使得只需要合并两个互相指向对方的点,并查集即可。

复杂度为 \(O(n)\)

L

有一个暴力的 dp,设 \(dp_i\) 表示处理完前 \(i\) 个 bug 的最小花费:

\[dp_{i}=\max\{dp_{j}+(i-j)^4+a_i\} \]

直接做是 \(O(n^2)\) 的。

一个很垃圾的策略是第一次处理 \(1\sim 1\),第 \(2\) 次处理 \(1\sim 2\),这样一直重复直到 \(n\)。这样暴力的策略花费 \(<n^2\),也就是说 \((i-j)^4<n^2\),否则一定不优,最后得到 \(i-j\le \sqrt{n}\),这样转移的复杂度就优化成了 \(O(n\sqrt{n})\)

一个更优秀的下界是 \(O(n^{5/4})\),不过根号复杂度对于本题已经足够优秀。

M

答案显然具有单调性,直接二分答案。

问题转化为所有区间有一个交点,直接记录左端点最大值和右端点最小值判断即可,复杂度为 \(O(n\log V)\)

http://www.jsqmd.com/news/704912/

相关文章:

  • GLM-4V-9B实战体验:上传图片就能问答,小白也能轻松玩
  • Cursor Pro免费激活解决方案:三步解锁AI编程完整功能
  • 机器学习k折交叉验证:k值选择与性能评估指南
  • 告别硬件IIC:STM32F103用软件模拟IIC读写AT24C02/04/16全攻略(含地址计算详解)
  • 高权限AI智能体零信任安全实践:三层防御矩阵与自动化部署指南
  • 探索OpenCore Legacy Patcher:让2008-2017年老款Mac重获新生的终极方案
  • Notepad--终极配置指南:打造高效跨平台中文文本编辑器
  • 中国高铁航线数据库CRAD(2003-2022年)
  • 机器学习中矩阵类型与应用实践指南
  • 深入Rockchip Android分区表:揭秘‘logo分区’的创建与定制化配置
  • 录播姬BililiveRecorder:5分钟快速上手指南,直播录制与修复全解析
  • DeepXDE技术架构深度解析:多后端科学机器学习框架的设计哲学与实践指南
  • 为什么同一篇论文知网和维普AIGC检测结果不同:平台差异深度解读
  • 5分钟快速上手:用WebToEpub将网页小说一键转为电子书永久保存
  • 软件环境管理中的配置一致性
  • 五大免费大语言模型(LLM)课程推荐与学习指南
  • 独享IP+动态IP结合实操方案,新手零门槛落地
  • 【AI Agent实战】你写的公众号一股AI味吗?复盘我踩的 3 个公众号运营盲区 | 实战经验
  • VS Code MCP成本失控的7个沉默信号,第5个90%工程师至今忽略(含实时检测CLI工具下载链接)
  • 政府引导基金数据(2001-2023年)
  • 告别重复编码-Symfony自动化开发指南
  • 嘎嘎降AI和去AIGC哪个更适合理工科论文:2026年实测数据完整对比
  • TMSpeech终极指南:5分钟配置Windows本地实时语音转文字工具
  • Plex媒体库如何自动获取YouTube视频元数据:插件配置与命名规范详解
  • 揭秘远程容器开发慢如蜗牛的5大元凶:从Dockerfile分层到devcontainer.json缓存策略的全链路调优
  • Qilin勒索软件终极进化:一键瘫痪300+EDR,企业安全防线的“终结者“
  • Squad:构建持久化AI智能体团队,革新软件开发协作模式
  • 如何判断降AI工具是否真的有效:效果验证和达标确认完整教程
  • JVM的体系结构、所谓的JVM调优发生在哪个区域?一文详解
  • OPAL:实现微服务授权策略与数据的实时同步解决方案