尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

[题解]P12008 【MX-X10-T4】[LSOT-4] Fragment of Memories

[题解]P12008 【MX-X10-T4】[LSOT-4] Fragment of Memories
📅 发布时间:2026/6/18 21:52:19

P12008 【MX-X10-T4】[LSOT-4] Fragment of Memories

可以想到很 naive 的思路,对于每个 \(x\) 值二分答案 \(m\)。check 函数可以 \(O(n)\) 完成。总时间是 \(O(n^2\log n)\) 的。我们发现 check 函数明显还能凹,考虑优化我们对段遍历的过程。

我们可以预处理出 \(a_i\) 之后第一个 \(a_i +1\) 出现的位置,然后就可以使用倍增快速找到 \(x\) 之后第一个合法的 \(x+m-1\) 的位置。寻找 \(x+m-1\) 之后第一个 \(x\) 的位置也不难。如此进行下去,直到进行不下去或者找到 \(k\) 段为止。

这样单次 check 复杂度是 \(O(c\log n)\) 的。其中 \(c\) 是我们总共经过的段数,也即:

\[c=\min(k,\min\limits_{i=x}^{x+m-1} cnt_i) \]

其中 \(cnt_x\) 为 \(x\) 出现的次数。

这样所有查询的 \(c\) 之和一定是 \(O(n)\) 级别的,所以总时间优化到了 \(O(n\log^2 n)\)。

继续优化的话,check 函数已经足够优秀了,考虑对外部的二分进行优化。

不难发现对于所有的 \(x\),都有 \(ans_x\ge ans_{x-1}\)。

所以其实我们不需要二分,只需要用一个指针,每次从上一个答案 \(-1\) 开始扫描即可。这样 check 的次数是 \(O(n)\) 量级的,于是总时间优化到了 \(O(n\log n)\)。

点击查看代码
#include<bits/stdc++.h>
#define eb emplace_back
using namespace std;
const int N=2e6+5;
int n,k,v,a[N],nxt[22][N];
vector<int> p[N];
inline int get_nxt(int x,int v){auto it=upper_bound(p[v].begin(),p[v].end(),x);return (it==p[v].end()?n+1:*it);
}
inline bool check(int x,int m){//基准记忆为x,m是否可行m--;//从x到x+m-1只需要跳m-1次for(int i=1,u=0;i<=k;i++){u=get_nxt(u,x);for(int j=0;j<=21;j++) if((m>>j)&1) u=nxt[j][u];if(u==n+1) return 0;}return 1;
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>k>>v;for(int i=1;i<=n;i++) cin>>a[i],p[a[i]].eb(i);for(int i=1;i<=n;i++) nxt[0][i]=get_nxt(i,a[i]+1),nxt[0][n+1]=n+1;for(int i=1;i<=21;i++) for(int j=1;j<=n+1;j++)nxt[i][j]=nxt[i-1][nxt[i-1][j]];for(int i=1,w=0;i<=v;i++){if(w) w--;while(check(i,w+1)) w++;cout<<w<<" ";}return 0;
}

相关新闻

  • 2.Android Compose 基础系列:在 Kotlin 中创建和使用变量
  • AWS WebRTC:获取ICE服务地址(part 3):STUN服务和TURN服务的作用 - 实践
  • 完整教程:进阶配置与优化:配置 HTTPS 以确保数据安全传输

最新新闻

  • 3个关键步骤解决WSABuilds安装失败:从包注册到架构匹配的完整指南
  • AD pcb设计规则设置和DRC检查
  • 浙江闸阀厂家实力排行:基于工况适配性的客观盘点 - 起跑123
  • 2026无锡网站建设哪家口碑好:实测筛选3家本土靠谱建站服务商,避坑不踩雷 - wxxwlm
  • 2026年五大SEO优化公司推荐:从传统搜索到生成式引擎,五家值得关注的服务商深度选型评测 - 资讯纵览
  • 微交互设计:从状态反馈到情感化动效的工程化实现

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号