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

2556. 第八大奇迹

有人困难题 一次提交ac 谁呀?

我呀 hhhh

但是代码有点不简洁...

2556. 第八大奇迹 - AcWing题库

ac代码:

#include<iostream>
#include<cstring>
using namespace std;
const int N=400010;
struct node{int a[8],b[8];int l,r;
}h[N];
void pushup(int idx){if(idx==0) return ;int i0=0,i1=0,i2=0;while(i0<8){if(h[idx<<1].a[i1]<h[idx<<1|1].a[i2]) h[idx].a[i0]=h[idx<<1|1].a[i2], i2++;else h[idx].a[i0]=h[idx<<1].a[i1], i1++;i0++;}pushup(idx>>1);
}
void build(int idx,int l,int r){h[idx].l=l,h[idx].r=r;if(l==r) return ;int mid=l+r>>1;build(idx<<1,l,mid);build(idx<<1|1,mid+1,r);
}
int find(int idx,int p){if(h[idx].l==h[idx].r) return idx;int mid=h[idx].l+h[idx].r>>1;if(p<=mid) return find(idx<<1,p);else return find(idx<<1|1,p);
}
void add(int p,int x){int idx=find(1,p);h[idx].a[0]=x;pushup(idx>>1);
}
void up(int idx,int idx1,int idx2){int i0=0,i1=0,i2=0;while(i0<8){if(h[idx1].b[i1]<h[idx2].b[i2]) h[idx].b[i0]=h[idx2].b[i2], i2++;else h[idx].b[i0]=h[idx1].b[i1], i1++;i0++;}
}
void f(int x,int y,int idx){if(x<=h[idx].l&&y>=h[idx].r){memcpy(h[idx].b,h[idx].a,sizeof(h[idx].a));return ;}int mid=h[idx].l+h[idx].r>>1;int flag1=0,flag2=0;memset(h[idx].b,0,sizeof(h[idx].b));if(x<=mid){f(x,y,idx<<1); flag1++;}if(y>mid){f(x,y,idx<<1|1); flag2++;}if(flag1&&flag2){up(idx,idx<<1,idx<<1|1);}else if(flag1){up(idx,idx<<1,0);}else{up(idx,0,idx<<1|1);}
}
int main(){int l,n; scanf("%d%d",&l,&n);build(1,1,l);while(n--){char c; int p,x;getchar(); scanf("%c",&c);scanf("%d%d",&p,&x);if(c=='C'){add(p,x);}else{f(p,x,1);printf("%d\n",h[1].b[7]);}// for(int i=0;i<=19;i++){//     printf("#%d\n",i);//     for(int j=0;j<8;j++){//         printf("%d ",h[i].a[j]);//     }//     printf("\n");//     for(int j=0;j<8;j++){//         printf("%d ",h[i].b[j]);//     }//     printf("\n");// }}return 0;
}

http://www.xdnf.cn/news/9132.html

相关文章:

  • OSPF补充信息
  • 亚马逊SP-API开发实战:商品数据获取与操作
  • 限流系列:resilience4j-ratelimiter
  • Linux环境下基于Docker安装 PostgreSQL数据库并配置 pgvector
  • [onnx 学习记录] 包包含的主要内容
  • Redisson分布式锁原理
  • 提升系统性能:Windows绿色版管理工具的实用指南
  • 红海云荣膺2025人力资源科技影响力品牌30强
  • IPD流程落地:项目任务书Charter开发
  • (2025.05)ubuntu20.04运行Mono-gs记录
  • android实现使用RecyclerView详细
  • 大模型微调(4):使用 AutoClass 管理 Tokenizer 和 Model
  • 航电系统之协同坐标技术篇
  • iOS 响应者链详解
  • 开发规范-Restful风格、Apifox安装与使用
  • 一、奋斗类(事业奋斗/梦想实现)
  • 三栏布局实现
  • 56页 @《人工智能生命体 新启点》中國龍 原创连载
  • 修改 K8S Service 资源类型 NodePort 的端口范围
  • Java Swing 自定义JOptionPane
  • Python面试1
  • 传输线上的信号速度与阻抗无关,主要由频率决定
  • leetcode:2160. 拆分数位后四位数字的最小和(python3解法,数学相关算法题)
  • OceanBase数据库全面解析(数据定义篇DDL)
  • numpy与matplotlib学习——数据可视化入门
  • 2025密云马拉松复盘
  • 如何实现 C/C++ 与 Python 的通信
  • sqli-labs第二十七关——Trick with selectunion
  • AI时代新词-AI芯片(AI - Specific Chip)
  • 大模型量化原理