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

AtCoder Beginner Contest 463 C - Tallest at the Moment 题解

老传统了打完ABC写T3题解

solve

  • 求区间最值奥,线段树
  • LZYXT的线段树
  • 在最后给出LZYXT的ST表
  • 好的我们不使用线段树
  • H,L一定要处理的,要不然你咋算答案,考虑怎么处理
  • 发现时间递增,并且要求最大值
  • 考虑按L递增排,然后就没思路了
  • 好的我们按H递减下L递增排
  • msjing写题解的时候把上面写反了
  • 发现时间排序后单调,可以用类似单调队列优化dp的双端队列的写法从对头排除过时决策
  • 不知道单调队列优化dp也没事,本质就是扫描
  • 写!
  • 爽吃一发罚时
  • 我们发现仅仅是高桥君の数组是时间单增,每次查询Q不是,所以在线是&O(QN)$的,包炸
  • 所以我们把查询全读了,排序并离线处理,这样时间就是单调的
  • 对于输出方式不对应的问题,把每次询问是第几个存一下(pair不用写cmp,拜谢pair%%%),算出来后再把答案塞到一个数组里,遍历输出就行,实现看代码,蛮清晰的
  • 时间复杂度是\(O(nlogn)\)的,查询队列均摊\(O(1)\)(貌似吧),总\(O(Q)\),瓶颈在排序
  • msjing又把时间复杂度算错了

诶为啥O(QN)能过啊
—— msjing
记录

code

#include<bits/stdc++.h>
#define Honkai ios::sync_with_stdio(0);
#define StarRail cin.tie(0);cout.tie(0);
#define endl '\n'
using namespace std;
constexpr int maxn=3e5+10;
long long n,Q;
pair<long long,long long> q[maxn];
struct _ {long long H,L;}gq[maxn];
bool cmp(_ a,_ b) {if (a.H == b.H) return a.L<b.L;return a.H>b.H;}
long long ans[maxn];
int main()
{Honkai StarRailcin >> n;for (long long i=1;i<=n;i++) cin >> gq[i].H >> gq[i].L;sort(gq+1,gq+1+n,cmp);cin >> Q;for (long long i=1;i<=Q;i++) cin >> q[i].first,q[i].second=i;\sort(q+1,q+1+Q);long long l=1;for (long long i=1;i<=Q;i++){while (l<=n && gq[l].L<=q[i].first) l++;ans[q[i].second]=gq[l].H;}for (long long i=1;i<=Q;i++) cout << ans[i] << endl;return 0;
}

Last:ST表


#include<bits/stdc++.h>
using namespace std;
const int NUM=3e5+10;
#define lid (id<<1)
#define rid (id<<1|1)int n;
struct node{int h,l;
}A[NUM];struct ST_Table{int Log[NUM],f[NUM][20];void init(int *a,int n){Log[1]=0;for(int i=2;i<=n;++i) Log[i]=Log[i>>1]+1;for(int i=1;i<=n;++i) f[i][0]=a[i];for(int j=1;j<=Log[n];++j){for(int i=1;i<=n-(1<<j)+1;i++){f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);}}}int Max(int x,int y){int l=Log[y-x+1];return max(f[x][l],f[y-(1<<l)+1][l]);} 
}st;int B[NUM],H[NUM];int main(){cin>>n;for(int i=1;i<=n;++i){cin>>A[i].h>>A[i].l;}sort(A+1,A+1+n,[](node a,node b){return a.l<b.l;});for(int i=1;i<=n;++i){H[i]=A[i].h,B[i]=A[i].l;}st.init(H,n);int q;cin>>q;for(int i=1,x;i<=q;++i){cin>>x;x=upper_bound(B+1,B+1+n,x)-B;cout<<st.Max(x,n)<<'\n';}return 0;
}
http://www.gsyq.cn/news/1562942.html

相关文章:

  • 如何在3分钟内免费体验完整三国杀游戏:无名杀网页版终极指南
  • security第十六集 引入JWT
  • Adobe-GenP 3.0终极激活指南:5分钟解锁Adobe全系列软件的专业解决方案
  • 抖音视频批量下载终极指南:5分钟快速上手高效工具
  • 嵌入式GUI开发实战:emWin初始化配置与硬件加速优化详解
  • 长沙全屋定制工艺揭秘!高性价比背后究竟藏着什么秘诀? - 资讯速览
  • 2026年服务口碑好英国留学机构:五家优选深度解析 - 科技焦点
  • 2026年绍兴市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • 口碑超棒!长沙全屋定制优惠来袭,错过再等一年! - 资讯速览
  • [数智金融][14]金融桌面助手的设计和实现
  • 长沙全屋定制工艺大对比,专业视角带你一探究竟! - 资讯速览
  • 2026年东莞工业胶粘制品选购指南:EVA泡棉、硅胶垫、保护膜、双面胶、绒布垫配套厂商优选指南 - 海棠依旧大
  • Windows HEIC缩略图插件:5分钟快速解决iPhone照片预览难题的终极方案
  • 多场景低压配电母线槽应用方案,适配高安全标准电气工程
  • 2026年江苏GEO优化服务商实力榜单|本地企业生成式搜索优化首选指南 - 936品牌测评网
  • 想做专业长沙全屋定制?这些优质之选不容错过! - 资讯速览
  • 抖店新手怎么选拍单工具?筛选标准 + 避坑全指南 - 抖掌柜
  • 如何高效使用开源网盘直链下载助手:专业用户的实战指南
  • 终极指南:5步免费绕过iOS 15-16激活锁,解锁你的iPhone/iPad设备
  • 黄山学院的整体就业率怎么样?王牌专业的就业率能达到多少? - 寻茫精选
  • 终极免费解决方案:如何用novideo_srgb轻松校准NVIDIA显卡广色域显示器色彩
  • Android Studio中文界面插件:让开发工具说你的母语
  • 2026年常州货架厂口碑排行,这几家值得推荐 - 官方资讯
  • 2026 年合肥高科经济技工学校招生简章|报名方式、招生专业、录取条件详解 - 教育为先
  • 自动驾驶PPO训练实战:从Mujoco到CARLA的闭环落地
  • (开源)MotorEffMAP-电机电控效率MAP图绘制程序
  • 嵌入式GUI开发:emWin树形视图控件核心API与实战应用
  • YOLOv8车辆损伤检测与事故严重程度分级系统
  • 嵌入式GUI开发:LISTVIEW控件从入门到精通,实现高效数据展示与排序
  • 8GB显存跑35B大模型:Qwen-A3B轻量化部署实战