【题解】[COCI2020-2021#1] Tenis
solution:
恶心题。考点:位运算 + 模拟。
我们将比赛分成两类:第一种是严格的胜利,即赢家的获胜位置严格小于输家的获胜位置。第二种是非严格的胜利,这意味着球员在球场上的获胜位置是相等的。
现在问题转化为在一个 3 列的网格上统计。提供 k c z n o l kcznol kcznol 大佬的 O ( n ) O(n) O(n) 算法,暴踩标算:
- 从左往右扫一遍,对于这一列的每个球员是第一次出现,那么我们统计 ( i + 1 , n ) (i+1,n) (i+1,n) 的答案;否则直接跳过。具体我们要维护 c n t [ 8 ] [ 3 ] cnt[8][3] cnt[8][3] 表示在状态 m a s k mask mask 的第 i i i 行排的最小且球场编号最小的球员的位置。
- 现在我们计算非严格胜利。枚举 i i i , i 2 i2 i2 行 ( i < i 2 ) (i<i2) (i<i2) , 如果 x x x, y y y 都不等于 0 0 0 ( x ≠ y ) (x\ne y) (x=y), 我们可以枚举 i 3 ∈ [ 0 , 2 ] i3\in [0,2] i3∈[0,2] , 使得在输家位置最靠前的情况下场地编号最小,就可以比较出 x x x , y y y 的结果。
常数大概有 2 3 ∗ 3 ∗ 3 = 72 2^3*3*3=72 23∗3∗3=72 。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17530284.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」