当前位置: 首页 > news >正文

牛客小白月赛122 E

https://ac.nowcoder.com/acm/contest/119664

E

计算f(l,r)需要判断[l,r]是否为[1,l-1]+[r+1,n]的子序列(对此我们可以用双指针实现);
如果每次枚举(l,r)时都去判断一次,得到时间复杂度为O(n3*logn)对于n=2000不够;
我们考虑如何预处理以达到快速判断的目的;

方法一

分析

显然对于一个确定的l,若r满足条件,那么显然r-1也满足条件。我们可以通过枚举l,然后从大到小枚举r,找到rmax,那么比r小的都不必进行双指针判断。

更进一步,对于符合条件的(l,r),l增加时,rmax不增;可以进一步减小枚举量 时间复杂度O(n2

代码实现

#include <bits/stdc++.h>
using namespace std;
int n;
int P[10000];
bool check (int l, int r)//返回f(i,j)的值
{int x = l;for (int i = 1; i <= n; i++){if (i == l){i = r;continue;}if (x <= r && P[x] == P[i]){x++;}}return x == r + 1;
};
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> P[i];}int ans = 0;for (int i = 2; i < n; i++)//枚举l{int l = i - 1, r = n - 1;while (l < r)//二分查找最大的r{int mid = (l + r + 1) >> 1;if (check(i, mid)){l = mid;}else{r = mid - 1;}}ans += l - i + 1;}cout << ans << endl;return 0;
}

方法二

分析

考虑 ll[i] 和 rr[i] :
ll[i] 是满足[i,i+x-1]是[1,i-1]的子序列的x的最大值
rr[i] 是满足[i-x+1,i]是[i+1,n]的子序列的x的最大值

那么f(i,j)==1等价于ll[l]+rr[r]>r-l;
时间复杂度O(n2

代码实现

#include<bits/stdc++.h>
using namespace std;
int p[10000], ll[10000], rr[10000];
int n;
bool check1(int i, int x) //起点 长度
{int k = i;int t = 1;while (t <= i - 1 ){if (p[k] == p[t]){k++;if (k == i + x)return 1;}t++;}return 0;
}
bool check2(int i, int x) //终点 长度
{int k = i - x + 1;int t = i + 1;while (t <= n){if (p[k] == p[t]){k++;if (k == i + 1)return 1;}t++;}return 0;
}
int main()
{cin >> n;for (int i = 1; i <= n; i++)cin >> p[i];for (int i = 2; i < n; i++){int l = 0, r = n;int mid;while (r - l >= 0){if (r == l){ll[i] = l;break;}mid = (l + r + 1) / 2;if (check1(i, mid))l = mid;elser = mid-1;}}for (int i = 2; i < n; i++){int l = 0, r = n;int mid;while (r - l >= 0){if (r == l){rr[i] = l;break;}mid = (l + r + 1) / 2;if (check2(i, mid))l = mid;elser = mid-1;}}int sum = 0;for (int l = 2; l < n; l++)for (int r = l; r < n; r++)if (ll[l] + rr[r] >= r - l+1)sum++;cout << sum;return 0;
}
http://www.hskmm.com/?act=detail&tid=33583

相关文章:

  • 深入解析:深度学习助力眼底疾病精准诊断:系统架构与设计思路解析
  • 2025年10月岩板工厂推荐评测榜:产能、专利、环保三维数据透视
  • PCIe扫盲——物理层电气部分基础(二)之De-emphasis
  • 2025年10月豆包关键词排名优化推荐对比榜:聚焦跨平台能力与售后体系的实用指南
  • PCIE 的 AFE DFE 是什么?
  • 2025年10月豆包关键词排名优化推荐榜:十强服务商多维对比与中立选购指南
  • 20232327 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 莫队学习笔记
  • 2025 年最新反应釜源头厂家排行榜:涵盖实验室 / 高压 / 加氢等类型设备,精选优质企业最新推荐
  • 2025年10月铝合金凉亭品牌推荐排行:深度评测五家主流厂商
  • PLAN(动态更新)
  • 2025 阻燃膜厂商最新推荐榜单:国际环保标准达标企业权威发布,覆盖 BOPET/PET/ 新能源专用全品类
  • 2025 年最新微波干燥设备生产厂家推荐排行榜:覆盖多行业需求,精选优质高效设备品牌指南黄粉虫微波/黑水虻微波/中药材微波干燥设备公司品牌推荐
  • 2025 年最新推荐钢结构源头厂家排行榜:聚焦美标 / 欧标钢结构等多领域,精选实力企业助力工程高效选材
  • 2025年10月访客系统推荐榜单详解:从核心指标到用户体验的客观剖析
  • 2025 年最新 1688 代运营公司排行榜:精选优质服务商,助力企业电商高效运营最新推荐
  • 2025年新明珠岩板深度解析:从智造规模到交付闭环的全景拆解
  • 2025 年北京红旗国悦 12 座 / 北京考斯特 4S 店 / 北京丰田柯斯达 / 北京考斯特商务车经销商推荐:大隆金马特装定制与全链条服务解析
  • 2025年10月deepseek关键词排名优化推荐评测榜:聚焦头部企业技术实力与服务透明度
  • AtCoder-abc228_h Histogram题解
  • 公钥私钥概念
  • 2025 年融合瓦生产厂家最新推荐排行榜:TPS/TPO/TPF 塑钢及钢塑一体融合瓦企业盘点与品质解析
  • 2025 年防腐瓦源头厂家最新推荐榜:聚焦塑钢防腐瓦 / PSP 塑钢覆合防腐瓦板等多类型产品,精选优质企业助力精准采购决策
  • python第五天
  • 2025 年碳源厂家最新推荐排行榜:复合 / 污水处理 / 微生物 / 液体 / 乙酸钠碳源品牌综合实力深度解析
  • 2025年10月AI搜索优化推荐榜单:十强服务商对比评测与避坑指南
  • uml九种类图介绍
  • 2025 年试验箱厂家最新推荐排行榜:涵盖高低温 / 恒温恒湿 / 冷热冲击等设备,精选研发实力强、质量管控严的优质品牌
  • 撼嗡幌佣渍话仝使卮哺