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

[题解]BYOI Round 1 T1~T2

[题解]BYOI Round 1 T1~T2
📅 发布时间:2026/6/21 13:16:55

比赛页面

VP.

T1. P14524 意识解离

每出现一个 \(a[i-1]<a[i]\)(特别地,令 \(a[0]=-\infty\)),说明必须新增一个长度为 \(n-i+1\) 的序列。

因此,有解的充要条件是 \(\forall i\in[1,n],a[i]\ge \sum_{j=1}^i \big[a[j]>a[j-1]\big]\)。

时间复杂度 \(O(n)\)。

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+5;
int t,n,a[N];
inline bool solve(){for(int i=1,c=0;i<=n;i++){if(a[i]>a[i-1]) c++;if(a[i]<c) return 0;}return 1;
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>t;a[0]=-2e9;while(t--){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];cout<<(solve()?"Yes\n":"No\n");}return 0;
}

T2. P14525 幻想碎片

看到数据范围和时限(500ms),复杂度大概是 \(O(n^3)\) 的。

我们枚举左右边缘 \(l,r\),中间部分看做一个长度为 \(n\) 的序列。

对于行数 \(\ge\) 列数,只需求出该序列长度 \(\ge (r-l+1)\) 的最大子段和,再乘上列数 \((r-l+1)\) 即可计入贡献。

对于行数 \(\le\) 列数,我们发现不好统计。但是将矩阵转置一下,就转化为行数 \(\ge\) 列数了!

时间复杂度 \(O(n^3)\)。

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=405,inf=1e15;
inline void chmx(int &x,int y){x=max(x,y);}
int n,m,a[N][N],s[N][N],t[N],ans=-inf;
inline void solve(){for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) s[i][j]=s[i][j-1]+a[i][j];for(int i=1;i<=m;i++){for(int j=i;j<=m;j++){if(j-i+1>n) continue;for(int k=1;k<=n;k++) t[k]=t[k-1]+s[k][j]-s[k][i-1];int l=j-i+1,s=t[l],mx=t[l];for(int k=l+1;k<=n;k++) s=max(t[k]-t[k-l],s+t[k]-t[k-1]),mx=max(mx,s);//len>=l的最大子段和ans=max(ans,mx*l);}}
}
inline void tran(){for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) s[j][i]=a[i][j];swap(n,m);for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) a[i][j]=s[i][j]; 
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}solve(),tran(),solve();cout<<ans<<"\n";return 0;
}

相关新闻

  • 服务器接口调用微信小程序获取手机号接口报:The SSL connection could not be established, see inner exception.
  • 2025留学美国被开除怎么办?申诉挽回/学业急救/身份保留/转学规划/签证补救机构哪家强
  • WPS用Qt还情有可原

最新新闻

  • 创业者国际EMBA理性测评与科学选型指南 - 品牌2026推荐
  • 2026 无锡市滨湖区防水、防水公司推荐|屋面防水、彩钢瓦翻新、钢结构修缮 TOP5 权威推荐 + 避坑指南(本地深度实操指南) - 速递信息
  • 影刀RPA新手入门:用RPA解放双手,从这5个日常场景开始
  • 2026 宣城防水、防水公司推荐|屋面防水、彩钢瓦翻新、钢结构修缮 TOP5 权威推荐 + 避坑指南(本地深度实操指南) - 速递信息
  • 嵌入式硬件探针实战:CodeTEST Probe接口配置与信号连接详解
  • 如何用pyannote.audio实现专业级说话人分割:从零开始的终极指南

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

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

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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