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

Luogu P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game 题解 [ 蓝 ] [ 线性 DP ] [ 种类数观察 ]

Luogu P13925 [POKATT 2024] 联合猫国 / The Paw-litical Game 题解 [ 蓝 ] [ 线性 DP ] [ 种类数观察 ]
📅 发布时间:2026/6/19 16:35:31

联合猫国

去年模拟赛做过一道几乎一模一样的题,于是一眼秒了。

本题的一个结论:最终可合并的区间数为 \(\bm{O(n\log n)}\) 级别。

证明可以考虑构造出可合并区间数最多的序列,显然是所有数都相同时的区间数,可以取到上界 \(n\log n\)。其余构造方式,例如构造一个 \(n, n - 1, n - 2, \cdots, 1, 1\) 的序列,一段最多只能产生 \(n\) 个可合并区间,显然是无法取到上界的。

因此后面的就是简单的了。注意到当一个数的增量确定时,合并的左端点也随之确定,因此可以用 vector 存每个数增量为 \(\bm x\) 时合并的左端点。因为可合并区间数是 \(O(n\log n)\) 级别的,因此暴力跳就可以了。

最后从每个可合并的左端点处转移,做一个线性 DP 即可。总体时间复杂度 \(O(n\log n)\)。

#include <bits/stdc++.h>
#define fi first
#define se second
#define eb(x) emplace_back(x)
#define pb(x) push_back(x)
#define lc(x) (tr[x].ls)
#define rc(x) (tr[x].rs)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ldb;
using pi = pair<int, int>;
const int N = 1000005;
int n, a[N], dp[N];
vector<int> f[N];
int main()
{//freopen("sample.in", "r", stdin);//freopen("sample.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n;memset(dp, 0x3f, sizeof(dp));dp[0] = 0;for(int i = 1; i <= n; i++){cin >> a[i];f[i].push_back(i - 1);dp[i] = min(dp[i], dp[i - 1] + 1);int now = i - 1, val = a[i];while(val - a[now] >= 0 && val - a[now] < f[now].size()){now = f[now][val - a[now]];val++;dp[i] = min(dp[i], dp[now] + 1);f[i].push_back(now);}}cout << dp[n];return 0;
}

相关新闻

  • 深入解析:【STM32项目开源】基于STM32的独居老人监护系统
  • CSP-S 41多校 9
  • CSP-S模拟41

最新新闻

  • CTF密码学实战:Python AES加解密核心原理与攻击技巧
  • 2026 南宁钻石回收最新行情,克拉钻裸钻实时报价参考 - 讯息早知道
  • 北京东城区黄金回收指南:收的顶专业机构VS银行VS金店怎么选? - 奢侈品回收测评
  • 2026西安黄金行情解析|高位变现时机与门店测评 - 奢侈品回收测评
  • 旧饰焕新颜,财富再启航。广州首饰回收传递生活新希望 - 奢品小当家
  • 2026武汉黄金回收TOP5优质商家推荐【6月最新版】设备硬核资金足报价高变现无忧 - 名奢变现站

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 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 号