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

线段树题解

P6025 线段树

ZKY解题思路

这题十分在考场上十分坑,调了1个多小时后结果是题目出锅了,现在说一下我的做法。

10pts
暴力,在这里不展开了。
40pts

对于一珂线段树,我们只要走最大的那条路,并得到最终节点坐标即可。具体方法如下: 假设我们走到一个节点,它的子树共有x个节点,它的下标为y, 要求的是子树上最大下标:

  1. 首先如果x==1,直接返回y
  2. 否则,如果x%2==0,返回的最大下标一定在右子树。
  3. 否则,如果lowbit(x/2)==x/2 表示左子树深度深,返回的最大下标一定在左子树。
  4. 否则,直接返回右子树(因为右子树相同深度下标一定比左子树大)

复杂度O(nlogn) n=(r-l+1)

在这里就不开longlong了反正也过不了

代码:

#include<bits/stdc++.h>
using namespace std;
int l,r,S,SS,ans;
int lowbit(int x) {return x&-x;
}
int q(int x,int y) {if(x==1) return y;if(x%2==0) return q(x/2,y*2+1);else if(lowbit(x/2)==x/2) return q(x/2+1,y*2);else return q(x/2,y*2+1);
}
int main() {scanf("%d%d",&l,&r);S=l;while(1) {SS=S;for(int i = 40; i >= 0; i--) {int QwQ=(1ll<<i);if(q(S,1)==q(S+QwQ,1)) S+=QwQ;}if(S>=r) {if((r-SS+1)%2) ans^=q(S,1);printf("%d",ans);return 0;}if((S-SS+1)%2) ans^=q(S,1);++S;}return 0;
}

100pts

然后我发现,有非常多的连续的f(i)相同,比如f(1536)~f(2047)均相同,于是就想到了倍增处理。

最终如果连续的个数为奇数那么将an**s异或其中的f函数值。

代码长度短,时间复杂度很低但为O(玄学)

代码:

#include<bits/stdc++.h>
using namespace std;
long long l,r,S,SS,ans;
long long lowbit(long long x) {return x&-x;
}
long long q(long long x,long long y) {if(x==(1ll)) return y;if(!(x&(1ll))) return q(x/(2ll),y*(2ll)+(1ll));else if(lowbit(x/(2ll))==x/(2ll)) return q(x/(2ll)+(1ll),y*(2ll));else return q(x/(2ll),y*(2ll)+(1ll));
}
int main() {scanf("%lld%lld",&l,&r);S=l;while(1) {SS=S;for(long long i = (40ll); i >= (0ll); i--) {long long QwQ=((1ll)<<i);if(q(S,(1ll))==q(S+QwQ,(1ll))) S+=QwQ;}if(S>=r) {if((r-SS+(1ll))%(2ll)) ans^=q(S,(1ll));printf("%lld",ans);return 0;}if((S-SS+(1ll))%(2ll)) ans^=q(S,(1ll));++S;}return 0;
}

P6025 线段树

解题思路

代码实现

点击查看代码

http://www.jsqmd.com/news/27318/

相关文章:

  • 单目相机Matlab参数标定
  • 2025年10月大型挖掘机品牌实力榜:外资在华累计销量与口碑数据公开
  • 2025年10月挖掘机厂家评测榜:五强国四排放对比排行
  • 2025年10月小型挖掘机品牌推荐榜:五强评测对比解析
  • 2025年10月挖掘机品牌推荐榜:迪万伦领衔全品类对比评测
  • Nginx作用以及应用场景
  • 2025年10月中型挖掘机租赁品牌对比榜:性能与服务综合排名
  • 2025年10月挖掘机厂家对比榜:迪万伦高寒施工机型与主流厂家排行
  • 2025年10月中型挖掘机租赁品牌榜:高原施工场景下的五强对比与选择
  • C# 中 Queue 学习笔记
  • Rust 异步错误处理与分布式系统中的实践策略
  • 2025年10月中型挖掘机租赁品牌榜:租赁成本与耐久性综合评测
  • 2025年10月挖掘机品牌推荐榜:迪万伦领衔全型号对比排行
  • 【Java】Bean的生命周期——print大法带你了解Bean的生命周期(初探)
  • 基于containerd部署的k8s集群
  • AE脚本-MoBar v3.5.1 Win 可提高效率的AE快捷命令脚本工具箱
  • “数据筑基” 赋能 “人工智能+”:解构“十五五”新质生产力的核心路径
  • 详细介绍:Win11系统JAVA8与IDEA社区版下载安装与配置
  • 2025 年最新推荐!搬家公司推荐排行榜 ,覆盖玄武秦淮等区域专业搬家公司精选榜单南京搬家公司推荐
  • Golang 镜像拉取与 Docker 部署全教程
  • 2025年推拉棚供应商年度排名,推拉棚源头厂家/推拉棚制造商推荐
  • 解析2025强网拟态EZMiniAPP
  • 2025 年 10 月 UV 测量仪器/UV LED 配套设备/UV 光固化胶厂家推荐排行榜:专业选型指南与高效应用方案
  • 2025年新疆电线电缆厂家权威推荐榜单:特种电缆/矿用电缆/电力电缆源头厂家精选
  • 为什么顶级企业愿意为设计买单?
  • sg.后台线程-1亿浮点运算用时-方法2
  • 2025 年混合机厂家最新推荐排行榜:高效盘条式无重力犁刀式锥形卧式螺带连续式等机型优选企业测评结果及核心优势解析
  • note 2
  • 基于机载相控阵天线的卫星通信链路预算示例:(一) - 实践
  • 2025年上海继承律师权威推荐榜单:离婚房产律所/离婚律所/继承律所精选服务商