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

[题解]P10282 [USACO24OPEN] Smaller Averages G

[题解]P10282 [USACO24OPEN] Smaller Averages G
📅 发布时间:2026/6/20 14:26:09

P10282 [USACO24OPEN] Smaller Averages G

朴素的 DP 比较好写,令 \(f[i][j]\) 为对 \(a[1\sim i],b[1\sim j]\) 进行分段的方案数,则有转移:

\[f[i][j]=\sum_{x,y} f[x][y] \]

其中 \(x\in[0,i-1],y\in[0,j-1],\overline{a[x+1,i]}\le\overline{b[y+1,j]}\)。

总时间 \(O(n^4)\),不能接受。

状态数为 \(O(n^2)\) 不好优化,考虑优化转移。

在 \(i\) 固定的时候,我们可以预处理出 \(a[1\sim i]\) 所有后缀的平均值,并将它们排序;枚举 \(j,q\) 时,可以二分出所有满足条件的 \(p\),前缀和累加即可。总时间 \(O(n^3\log n)\),仍不能接受。

进一步考虑,我们可以只枚举 \(i,q\),并在 \(q\) 固定时,预处理出 \(b[q\sim n]\) 所有前缀的平均值,并将它们排序。在这两个排序的数组上跑双指针 \(p,j\) 即可。总时间 \(O(n^3)\),其中 \(O(n^2\log n)\) 是预处理。

点击查看代码
#include<bits/stdc++.h>
#define eb emplace_back
#define int long long
using namespace std;
const int N=502,P=1e9+7;
int n,a[N],b[N],f[N][N];
struct Nd{double w;int id;};
vector<Nd> x[N],y[N];
inline bool cmp(Nd a,Nd b){return a.w<b.w;}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++) cin>>b[i];for(int i=1;i<=n;i++){for(int j=i,s=0;j<=n;j++){s+=b[j];y[i].eb(Nd{1.0*s/(j-i+1),j});}for(int j=i,s=0;j;j--){s+=a[j];x[i].eb(Nd{1.0*s/(i-j+1),j});}sort(x[i].begin(),x[i].end(),cmp);sort(y[i].begin(),y[i].end(),cmp);}f[0][0]=1;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){auto q=x[i].begin();int s=0;for(Nd p:y[j]){for(;q!=x[i].end()&&q->w<=p.w;q++){(s+=f[q->id-1][j-1])%=P;}(f[i][p.id]+=s)%=P;}}}cout<<f[n][n]<<"\n";return 0;
}

相关新闻

  • JavaWeb07-SpringBoot相关配置
  • 易基因:J Hazard Mater(IF11.3):安徽农大任大龙团队ChIP-seq等揭示微塑料暴露介导中性粒细胞免疫毒性的调控机制
  • 习题解析之:字符串长度

最新新闻

  • 2026年无人驾驶扫地车Top3品牌推荐,看完就知道哪个好 - 工业清洁测评社
  • 2026包头漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • Audiveris终极指南:5分钟快速上手开源乐谱识别神器
  • BetterNCM Installer:3分钟解锁网易云音乐无限可能
  • 大模型本地实践三支柱:模型本体、推理引擎与微调范式
  • emWin控件实战:MULTIPAGE、PROGBAR、RADIO、SCROLLBAR核心API与嵌入式GUI开发指南

日新闻

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