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

ABC429(C,D,E)

C

思路:容斥原理

开桶统计元素个数
求$ A_i,A_j,A_k (i \lt j \lt k)$ 其中两个相等的元组数量:

\(A_i\)\(k\)

  1. \(A_i\)和其他一个相等:\(ans = (k-1) \times (n-i-(k-1))\)
  2. 其他两个相等:先算出所有两两相等的元组个数\(res\),再减去\(A_i\)这样的元组个数

从前往后遍历 , 注意到\(res\)需要减\(k-1\),桶-1

D

思路:双指针+拆环成链

题目要求从\(x=(0.5\) ~ \(m-0.5)\) ,统计前缀至大于等于\(C\)

先想简单情况:\(a_n\)小于\(m-0.5\)也就是小于\(m\)

此时显然绕了一圈又回到起点开始统计 ,这样不妨记录从起点开始统计的答案为\(tot\)

这部分对答案的贡献就是\((m - a_n)\times tot\)

进而发现可以用$(a_i -a_{i-1}) \times cnt $ 快速统计\(a_i+1-0.5\leq x \leq a_i-0.5\)的答案

这样双指针维护答案,发现有可能快指针大小为超过\(n\),进而重新从开头统计

固我们拆环成链:把数组复制一遍放到原数组的后边

然后模拟

E

思路:多源BFS

题目要求从一个\(S\)结点到\(D\)结点再到一个不同的\(S\)结点的最短路

不妨对于每一个结点统计两个 \(pair\) ,第一个\(pair\) 存最短的从一个\(S\) 到一个该结点路径长度
第二个\(pair\)存次短的

那么答案就是两个\(pair\)存的路径之和

因为需要\(S\)不同,因此\(pair\)再存一个原点\(S\)

从所有\(s\)点出发,更新状态:

  1. 如果当前结点的第一个\(pair\)的 起点\(S\) 和 出发的\(s\)点相同,则路径长短取min
  2. 否则,如果长度小于最短路:更新第一个\(pair\)和第二个\(pair\) ,否则只更新第二个\(pair\)

因为图是连通的,固每个\(D\)一定有答案

http://www.hskmm.com/?act=detail&tid=39070

相关文章:

  • 玩转单片机之智能车小露——数字与字符串的转换与打印
  • 数据采集作业1 102302111 海米沙
  • 嵌入子流形
  • Link-Cut Tree
  • 列表,集合,字典的增、删、查、改方法对比
  • MusicFree 音乐
  • 线段上随机取n个点的最大距离期望
  • RuoYi-Cloud-Plus 数据权限实现原理解析
  • 第5天(中等题 滑动窗口、逆向思维)
  • P10老板一句‘搞不定就P0’,15分钟我用Arthas捞回1000万资损 - 指南
  • 华为堡垒机
  • [HZOI] CSP-S模拟38 赛后总结
  • Meet in the middle 学习笔记
  • 集合常见操作示例
  • 深入解析:港大和字节携手打造WorldWeaver:以统一建模方案整合感知条件,为长视频生成领域带来质量与一致性双重飞跃。
  • 集合与列表有何不同的使用场景,如何选择?
  • 虚拟机下 安装 ubuntu 18.04
  • MinIO快速入门
  • 多表查询-练习
  • 实验3:卷积神经网络 - OUC
  • 使用 Docker Compose 在 CentOS 7 单机服务器上部署多实例 MinIO 集群
  • 102302147傅乐宜作业1
  • 多智能体大模型在农业中的应用研究与展望
  • 嵌入式基础作业--第七周--IIC协议采集温湿度与OLED显示
  • Nature子刊 | 基于生物学信息的神经网络
  • 软件开发(10.23)
  • 2025年项目总延期?这30款项目进度管理软件一定有一款适合你!
  • Educational Codeforces Round 66 (Rated for Div. 2) A~F
  • 鲁东大学提出可解释的自适应集成机器学习全基因组选择算法用于小麦产量性状关键SNPs筛选
  • 台球厅收银台押金原路退回系统押金预授权—东方仙盟 - 详解