题解:P9464 [EGOI 2023] Padel Prize Pursuit / 追梦笼式网球

news/2025/10/22 15:15:57/文章来源:https://www.cnblogs.com/TBSF-0207/p/19158099

目前暂无修正。

选手无法观察到树形结构,于是选手写了比较没脑子的可持久化线段树做法。

我们考虑第 \(i\) 个奖牌会到哪里去,发现每个关系 \((X,Y)\) 意思是此时 \(Y\) 的奖牌会被 \(X\) 赢走,即奖牌此时到 \(Y\) 后会往 \(X\) 走。我们可以暴力地每个点开一个桶,下标 \(j\) 记录接下来奖牌会在第 \(j\) 个人总共停留 \(buk[j]\) 晚,每次转移 \(X\) 的桶复制给 \(Y\) 即可。

由于对不同的 \(Y\) 停留在 \(X\) 的时间不一样,还需要在 \(buk[X]\) 的位置加上当前时间与上一次 \(X\) 作为 \(Y'\) 出现的时间的差。注意:如果一个 \(Y\) 获得了多个 \(X\) 给的桶,那么只有最新的是有效的,这样是 \(O(nm)\) 的。

考虑优化这一过程,把这个桶变成动态开点线段树,找 \(\max\) 是容易的,复制的话我们采用类似可持久化线段树的思想,每次 \(rt[Y]\) 直接在 \(rt[X]\) 的基础上修改,多开 \(O(\log n)\) 个点,每次第 \(i\) 块奖牌查询直接在 \(rt[Y]\) 线段树上二分最大是哪个人。时间复杂度和空间复杂度都是 \(O(m\log n)\)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2e5+5;
int n,m,X[N],Y[N],ans[N];
int ncnt,rt[N],lasr[N];
struct Node{int lc,rc,mx;}t[N<<5];
#define ls t[p].lc
#define rs t[p].rc
#define mid ((l+r)>>1)
void pushup(int p){t[p].mx=max(t[ls].mx,t[rs].mx);
}
void modify(int o,int &p,int l,int r,int pos,int v){p=++ncnt;t[p]=t[o];if(l==r){t[p].mx+=v;return ;}if(pos<=mid)modify(t[o].lc,ls,l,mid,pos,v);else modify(t[o].rc,rs,mid+1,r,pos,v);pushup(p);
}
int query(int p,int l,int r){if(!p)return 0;if(l==r)return l;if(t[ls].mx>=t[rs].mx)return query(ls,l,mid);return query(rs,mid+1,r);
}
#undef ls
#undef rs
#undef mid
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m;for(int i=1;i<=m;i++){int x,y;cin>>x>>y;x++;y++;X[i]=x;Y[i]=y;}for(int i=1;i<=n;i++)lasr[i]=m+1;for(int i=m;i>=1;i--){int x=X[i],y=Y[i];modify(rt[x],rt[y],1,n,x,lasr[x]-i);ans[query(rt[y],1,n)]++;lasr[y]=i;}for(int i=1;i<=n;i++)cout<<ans[i]<<' ';return 0;
}

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

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

相关文章

Spring Boot 中@RestController注解的详解和运用

Spring Boot 中@RestController注解的详解和运用2025-10-22 15:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

软件工程课程第二次团队作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13559这个作业的目标 构建一个能…

AGC 板刷记录2

AT_agc073_a [AGC073A] Chords and Checkered 题解 自己手画几组,没添加一条线其实就是把穿过的区域复制添加一份颜色反转的,一块区域如果是黑的,一定是被奇数条线覆盖。我们将其拆成两部分,第一部分是只有一条线围…

2025 年涿州装修公司最新推荐榜,深度解析企业服务能力与市场口碑优势

涿州作为环京核心区域,装修市场已聚集超 1500 家注册企业,但行业内资质参差、报价混乱、工艺缩水等问题频发,不少业主因选错服务商陷入工期延误、增项加价的困境。为破解这一难题,本榜单基于企业综合实力、施工标准…

结对编程项目总结

项目 GitHub 地址:https://github.com/LoadStar822/Elevator我们把结对开发的里程碑、算法设计心得以及协作复盘一起整理在这份文档里,方便后续直接发布到博客或项目页。全文以“先数据、再故事”的顺序铺陈,读者可…

刘强东带火数字人直播?商业化逐步成熟,逐渐取代真人带货!zhibo175

4月16日晚6点18分,刘强东准时出现在京东家电家居采销直播间和京东超市采销直播间。 不过,此次出镜带货的并非刘强东本人,而是其数字虚拟人分身“采销东哥”。开播不足半小时,两大直播间就吸引了超1000万次观看。 相…

Hive事务管理详解:从ACID原理到UPDATE/DELETE实战 - 实践

Hive事务管理详解:从ACID原理到UPDATE/DELETE实战 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

TabControl控件

TabControl控件,页面集合 用于管理一个TabPages集合,每个TabPage都是一个容器控件 常用属性: MultiLine,TabPages,AlignMent,Appearance,ItemSize,ImagesList 知识点1: MultiLine,是否允许多行选项卡 AlignM…

权威调研榜单:硬质合金挤压模具厂家TOP3综合实力深度解析

权威调研榜单:硬质合金挤压模具厂家TOP3综合实力深度解析 随着制造业向高端化、精密化方向发展,硬质合金挤压模具作为精密加工领域的核心工具,其性能直接影响产品质量和生产效率。根据行业调研数据显示,2024年我国…

详细介绍:【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战

详细介绍:【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

Nacos 3.1.0 正式发布,支持 A2A 注册中心与 MCP 注册协议增强

Nacos 社区正式发布 3.1.0 版本!作为全新的里程碑版本,3.1.0 在 A2A(Agent-to-Agent)注册中心和 MCP(Model-Context-Protocol)注册中心两大核心能力上实现重大突破,同时修复多项历史问题并升级关键依赖。作者:…

2025 年点火器厂家最新推荐排行榜:综合评估高能 / 自动 / 防爆等多类型产品,精选优质品牌

在工业生产、民生应用等领域,点火器作为核心设备,其性能好坏直接关系到生产效率提升、作业安全保障以及能源消耗控制。当前点火器市场呈现品牌数量多、产品质量差异大的特点,部分品牌因技术滞后,生产的点火器存在点…

VS2026 使用 WebDeploy 发布到 IIS - Jeff

这里有B站的一位up发的视频 - 博文只是为了记录一下大体步骤,主要是记录最后的问题以及解决方案,因为遇到的问题在网上搜不到。通过使用Visual Studio将你的程序WebDeploy一键发布到windows的IIS_哔哩哔哩_bilibili …

2025 激光灯厂家最新推荐榜:全方位测评核心实力与潜力,甄选优质供应商实用指南

引言 2025 年激光灯行业迎来技术迭代与新品牌爆发的双重浪潮,市场呈现 “老品牌深耕、新势力突围” 的格局,但选型难题愈发突出。部分厂商偷工减料导致产品性能不稳定,中小品牌技术滞后难以适配文旅亮化、商业演艺等…

SpringBoot3 集成Junit4 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

详细介绍:Spark Shuffle:分布式计算的数据重分布艺术

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年火焰检测器生产厂家最新推荐权威排名:涵盖防爆 / 一体化 / 紫外线 / 离子 / 红外线 / 红紫外复合 / 智能型,多维度解析助力企业精准选型

引言 当前工业领域对火焰检测器的需求日益严苛,不同场景下需匹配防爆、一体化、紫外线等多种类型产品,而市场中厂家技术水平悬殊,部分产品存在检测精度不足、适应复杂工况能力弱等问题,导致企业选型时易陷入 “选贵…

排序算法的介绍

排序算法的介绍概要排序算法是众多算法中常见的基本算法,它的任务是将一组数据按一定的顺序排列。排序算法广泛应用于数据处理、搜索优化、数据库管理等领域。不同的排序算法适用于不同的场景,本文将介绍几种常见的排…

调理neovide之 自定义keymap-不用starter-template的话,直接init.lua中改

感谢提供完整的 init.lua 内容!现在问题非常清晰了。 你没有使用标准的 LazyVim starter 配置,而是手动集成了 LazyVim/LazyVim 作为插件,并自定义了数据目录(D:/nvim-data)。 在这种模式下,LazyVim 不会自动加载…

MyEMS:用开源撕开能源管理 “黑箱”,让节能不再 “凭感觉”

当一家电子厂每月消耗数十万元电费,却查不出 “高能耗设备到底是谁”;当一个园区想对接光伏、储能系统,却被闭源厂商告知 “需额外支付 10 万元接口费”;当一所学校想统计各教学楼的用电规律,却只能对着零散的 Ex…