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

NOIP 模拟赛九

Reverse Card

\((a+b)\mid b\cdot \gcd(a, b)\) 计数。

先化式子,记 \(g=\gcd(a, b), a=a'g, b=b'g\)

\(g(a'+b')\mid g^2b'\) ,即 \((a'+b')\mid gb'\)

\(\gcd(a' + b', b')=\gcd(a', b') = 1\) ,所以 \((a'+b')\mid \gcd(a, b)\)

又因为 \(a'\le g = \frac{n}{a'}\) ,得到 \(a'\le \sqrt n\) ,同理得到 \(b'\le \sqrt m\)

直接枚举做到 \(O(n)\)

Record

Fair Elevator

题意即为分成若干个 \({\color{red}(}{\color{purple}(}{\color{green}(}\) \({\color{red})}{\color{purple})}{\color{green})}\) 的区间。

\(f_i\) 为前 \(i\) 个是否合法,然后枚举下一个 \(j\) 再判断 \((i, j]\) 是否合法。

判合法只需要考虑几种情况(样例基本就足够了)就可以 \(O(n)\) 做到了。

复杂度 \(O(n^3)\)

Record

Paths

如果 \(u\) 固定,长链剖分后贪心取前 \(k\) 长的链即可(链长要算上链顶连向父亲的边)。

\(u\rightarrow v\) 换根发现只有子树 \(v\) 内的一条长链会 \(-w\) ,子树 \(v\) 外的长链会 \(+w\)

使用 multiset 动态维护前 \(k\) 长,支持插入和删除元素。

加入/删除哪些元素可以换根 DP 求出,注意 \(v\) 的最/次长链要减去 \(w\)

Record

Two Dishes

同一道菜的不同步骤有严格的关系,所以收益形如做到第 \(i\) 步时,另一个菜做到了 \(j\) 步,如果 \(j\le lim_i\) ,则获得 \(i\) 的收益。

则问题可以抽象为平面上的一些点,有一条 \((0, 0)\rightarrow (n, m)\) 的折线,只能往右或上走。

如果某个点在折线下/上方则有一定的贡献。

先加上需要在上方的点 \((x, y)\) 的贡献,然后替换成 \((x-1,y+1)\) 的新点,贡献取负。

这样只要一个点在折线下方就有贡献。

\(f[i, j]\) 为走到 \((i, j)\) 的最大收益,则转移形如 \(f[i, j]=\max_{k\le j}f[i-1,k]+g(i, j)\)

\(g(i, j)\)\((i, j)\) 下方的点的权值和,转换贡献形式,对于每个点,能够贡献给其上方的点。

所以问题变成了先取前缀 \(\max\) ,又有若干个后缀加,经典的 整体 DP

使用 map 维护 \(f\) 的非 \(0\) 差分,后缀加是简单的。

取前缀 \(\max\) 只需要对所有 \(<0\) 的值和后一个差分值合并即可。

注意走到 \((n, j)\) 后不能再取前缀 \(\max\) 了。

Record

http://www.gsyq.cn/news/9054.html

相关文章:

  • 个人项目-软件工程第二次作业 - Nyanya-
  • go语言中的复杂数据类型
  • 支持 SSL 中等强度密码组(SWEET32) - 漏洞检查与修复
  • linux kernel synchronization rcu
  • Android开发参考
  • Transformer与ViT
  • WordPress开放嵌入自动发现功能中的XSS漏洞分析
  • Python lambda
  • Android Studio 配置国内源
  • PyCharm项目上传GitHub仓库(笔记) - 教程
  • 从RAG出发
  • Ubuntu 24.04 安装 DaVinci Resolve
  • 图解26:老生常谈的OSI网络模型
  • 【C++】指针
  • 详细介绍:前端学习——CSS
  • 用 Go 编写验证码识别脚本(基于 Tesseract)
  • 数据结构 静态链表的实现(算法篇) - 详解
  • ADS放入元器件include和DK.zip文件依然提示未定义
  • AI元人文(十三):良知觉醒——论三值伦理模型与元道德主体的诞生
  • Oracle EBS ERP——常见查询业务场景 - 指南
  • 图解24:8种常用的缓存淘汰策略
  • JS设计模式-模块模式
  • 利用Burpsuite实现抓取https流量
  • RTX4090双卡本地布署QwenImage模型并生成OpenAI API - yi
  • ubuntu22.04下搭建iRedMail邮件服务器 - 实践
  • 深入解析:SQL语句优化的步骤详解
  • 图解22:扩展系统的最佳8种策略
  • Winform项目添加WPF
  • 本地免费使用网页表格控件websheet
  • 图解21:Redis为什么这么快