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

[题解]BYOI Round 1 T1~T2

比赛页面

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;
}
http://www.jsqmd.com/news/43583/

相关文章:

  • 【马来亚大学主办,SPIE出版,快至会后4个月检索】2025年医学图像处理与识别国际会议(IPOR 2025)
  • 2025年不锈钢垃圾桶实力厂家权威推荐榜单:金属垃圾桶源头厂家精选
  • 深入解析:Tauri 1.x和2.x的区别对照表
  • C#Lazy
  • 加氢站安全监测选型:别让传感器成为你的定时炸弹
  • linux anaconda
  • 服务器接口调用微信小程序获取手机号接口报:The SSL connection could not be established, see inner exception.
  • 事倍功半是蠢蛋62 docker 语句儿生产力
  • 【重磅升级!迅为iTOP-Hi3403开发板SDK全面升级至Linux 6.6内核】
  • 2025留学美国被开除怎么办?申诉挽回/学业急救/身份保留/转学规划/签证补救机构哪家强
  • 2025年国内档案馆展示柜厂家综合实力排行榜TOP10
  • 2025年陕西省探矿权采矿权技术服务企业权威推荐榜单
  • WPS用Qt还情有可原
  • C#技术
  • 2025年山西口碑好的纪念馆展示柜厂家十大排名权威推荐
  • 2025年评价高的UV 软膜广告灯箱厂家最新TOP排行
  • 2025年山西口碑好的纪念馆展示柜定制厂家排行Top10推荐
  • C# 14 新功能全面解析:提升生产力与性能的革命性更新
  • 【隐语SecretFlow隐私计算】如何使用 Kuscia API 运行一个 SecretFlow Serving
  • 2025年优秀的软件行业体系认证三体系认证品牌实力推荐榜
  • linux ajax
  • linux adobe reader
  • 2025年11月中国香菇品牌排名
  • 2025年11月中国枸杞企业口碑推荐榜单
  • 2025留学开除申诉机构推荐Top5,学术诚信申诉/退学申诉全流程护航
  • 机器视觉:智能车大赛视觉组手艺文档——用 YOLO3 Nano 实现目标检测并部署到 OpenART
  • C#重要的数据结构
  • 学业危机速看!2025美国紧急转学机构哪家好,学分对接/院校适配全解析
  • 探索Word2Vec:从文本向量化到中文语料处理 - 指南
  • Sandboxie-Plus 为沙盒运行的软件创建快捷方式