当前位置: 首页 > 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.gsyq.cn/news/30498.html

相关文章:

  • 详细介绍:语义网络(Semantic Net)对人工智能中自然语言处理的深层语义分析的影响与启示
  • 2023.2.24 操作系统期末考试回忆 山科 山东科技大学
  • MusicFree 音乐
  • P10老板一句‘搞不定就P0’,15分钟我用Arthas捞回1000万资损 - 指南
  • Python毕业设计实例-基于python养老社区的查询预约架构(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 华为堡垒机
  • MinIO快速入门
  • Educational Codeforces Round 66 (Rated for Div. 2) A~F
  • stm32使用SPI外设读取W25Q32芯片
  • Avjinder Singh Kaler | 数量遗传学基础
  • 鲁东大学提出可解释的自适应集成机器学习全基因组选择算法用于小麦产量性状关键SNPs筛选
  • 台球厅收银台押金原路退回系统押金预授权—东方仙盟 - 详解
  • 数论专题小记
  • 《程序员修炼之道:从小工到专家》笔记1
  • 科普报告:分子标记辅助选择(MAS)育种
  • 实用指南:【ansible/K8s】K8s的自动化部署源码分享
  • 作物遗传育种中的多亲本互交群体(MAGIC)
  • 联邦大型语言模型、多智能体大型语言模型是什么? - 详解
  • 一个用于自动化基因表达分析的多智能体框架GenoMAS
  • 50年的玉米育种改良,是如何应对气候变化的?
  • 刷题日记—洛谷数组题单—幻方
  • python爬虫进阶版练习(只说重点,selenium) - 指南
  • 基因组选择(GS)如何加速作物遗传增益?
  • OpenAI推出内置ChatGPT的Atlas浏览器:重新定义网页浏览体验
  • 数据清洗
  • 102302110高悦作业1
  • 2025.10.23 模拟赛
  • Day23-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\InOut
  • LLM学习记录DAY12
  • 深入解析:Zark Lab 与 Walrus 合作,建立内容发现、可访问性与实用性的基础 AI 智能层