P14521 【MX-S11-T2】加减乘除题解

news/2025/11/17 17:42:32/文章来源:https://www.cnblogs.com/sadlin/p/19233759

当时思路想到了但是发现区间求交有点绕,给我绕晕了,我就只写了暴力就算了。

其实就是对区间进行取交集,之后离散化后在值域树状数组上求前缀个数即可。

#include<bits/stdc++.h>
#define ll long long
#define int ll
#define ls p<<1
#define rs p<<1|1
#define re register 
#define pb push_back
#define pir pair<int,int> 
#define f(a,x,i) for(int i=a;i<=x;i++)
#define fr(a,x,i) for(int i=a;i>=x;i--)
#define fi first
#define se second
#define lowbit(x) (x&-x)
using namespace std;
const int N=5e5+10;
const int M=5e6+10;
const int mod=1e9+7;
const int INF=1e9+7;
mt19937 rnd(251);int n,m;struct ss{int op,x,l=114514,r=-114514;
}a[N];struct sss{int y,l,r;
};
vector<sss> g[N];int quest[M];
unordered_map<int,int> rns;vector<int> val;
int len;pair<int,int> jiao(int l,int r,int pl,int pr){return make_pair(max(l,pl),min(r,pr));
}void dfs(int x,int d){for(int i=0;i<g[x].size();i++){int y=g[x][i].y;int k=a[x].op*a[x].x;int l=g[x][i].l-k,r=g[x][i].r-k;pair<int,int> ans=jiao(l,r,a[x].l+d,a[x].r+d);if(ans.fi>ans.se) continue;a[y].l=ans.fi-d;a[y].r=ans.se-d;dfs(y,d+k);for(int i=1;i<=n;i++){}}
}int t[M];void add(int x,int k){while(x<=len){t[x]+=k;x+=lowbit(x);}
} int query(int x){int sum=0;while(x){sum+=t[x];x-=lowbit(x);}return sum;
}void solve(){cin>>n>>m;for(int i=2;i<=n;i++){int x,l,r;cin>>x>>l>>r;g[x].push_back({i,l,r});}for(int i=1;i<=n;i++){char c;cin>>c>>a[i].x;a[i].op=((c=='-')?-1:1);}for(int i=1;i<=m;i++){cin>>quest[i];val.push_back(quest[i]);}a[1].l=-2e18-5;a[1].r=2e18+5;dfs(1,0);for(int i=1;i<=n;i++){val.push_back(a[i].l);val.push_back(a[i].r);val.push_back(a[i].r+1);} for(int i=1;i<=n;i++){sort(a+1,a+1)}sort(val.begin(),val.end());len=unique(val.begin(),val.end())-val.begin();for(int i=0;i<len;i++){rns[val[i]]=i+1;}for(int i=1;i<=n;i++){a[i].l=rns[a[i].l];a[i].r=rns[a[i].r];}for(int i=1;i<=m;i++){quest[i]=rns[quest[i]];}for(int i=1;i<=n;i++){if(a[i].r<a[i].l){continue;}add(a[i].l,1);add(a[i].r+1,-1);}for(int i=1;i<=m;i++){cout<<query(quest[i])<<"\n";}} signed main(){
//  	freopen("kingdom3.in","r",stdin);
//  	freopen("a.out","w",stdout);ios::sync_with_stdio(0);cin.tie(nullptr);   int t=1;
//	cin>>t;while(t--){solve();} return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/968158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构造题 Codeforces2133E

https://codeforces.com/problemset/problem/2133/E 题解 第一个操作没那么好理解,因为询问了某个位置之后下一步逃犯还不能走那个位置。所以先用几个具体实例来理解这个追逃游戏。 在链上可以惊喜地发现,这个特性可…

【LVGL】下拉列表部件

引言 下拉列表部件(lv_dropdown)下拉列表部件相关 api 函数 注意:使用索引添加选项的时候,不能采用静态设置的函数的。示例程序 lv_obj_t *dd;static void event_cb(lv_event_t *e) {lv_obj_t *target = lv_event_g…

V8的垃圾回收器

垃圾回收算法遍历GC Root(window,DOM,栈等)标记活动对象和非活动对象 回收非活动对象所占据的内存 内存整理新生代和老生代 在V8中,会把堆分成新生代和老生代两个区域新生代通常只支持1~8M的容量,存放生存时间短的…

2025留学中介哪家好?厚仁/新通等5大品牌,多国联申/offer保障/名校申请/求职赋能全覆盖

2025留学中介哪家好?厚仁/新通等5大品牌,多国联申/offer保障/名校申请/求职赋能全覆盖随着全球化教育理念的深入,留学申请需求持续攀升,优质留学中介成为学生实现海外求学梦想的重要支撑。专业的留学中介不仅能精准…

4th Universal Cup

唉唉唉。队友可能是 \(\color{black}{_}\color{red}{lbw_}(C)\) 和 \(\color{red}{hhoppitree}\) 大手子。队名可能是 N啥啥 D啥啥。 Stage 1 忘了。 单场排名 rk5,总排 rk5。 Stage 2 忘了。 单场排名 rk10,总排 rk…

2025 最新滚珠丝杠厂家 推荐!重负载 / 精密 / 轧制 / 研磨滚珠丝杠全品类榜单,国产优质品牌实力测评与选购指南

引言 工业自动化升级浪潮下,滚珠丝杠作为核心传动部件,其精度、刚度与耐久性直接决定设备运行效能。国际传动机械协会(ICMA)2025 年测评数据显示,全球合格滚珠丝杠品牌仅占市场总量的 37%,超六成产品存在精度偏差…

20232328 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1.实验内容1.1主机发现与端口扫描 1.2 Vsftpd源码包后门漏洞(21端口) 1.3 SambaMS-RPC Shell命令注入漏洞(端口139) 1.4 Java RMI SERVER命令执行漏洞(1099端口) 1.5 PHP CGI参数执行注入漏洞(80端口)2.实验准…

这两个开源项目在世界互联网大会乌镇峰会获奖

Spring AI Alibaba 和 Higress 分别获得了开源先锋社区、开源优秀社区的称号,两位社区贡献者张圣航(GitHubID: shenghang)、刑国富(GitHubID: erasernoob)获得最具价值贡献者奖。2025 “直通乌镇”全球互联网大赛…

#2338. [22NOIP十连 Day 1] 数列

显然,自己不想实现的题就丢到这里来。 首先按照字典序贪心一定没毛病。 考虑按照红边建 DFS 树,如果你目前枚举到了树边,那么你就直接填最小的就是了,如果是非树边,将其没有填过的树边按照顺序最小到大填,然后这…

20232308 2025-2026-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1实验要求 掌握metasploit的用法 1.2实验内容 (1)发现Metasploitable2靶机,并对其进行端口扫描、漏洞扫描; (2)利用Vsftpd源码包后门漏洞; (3)利用SambaMS-RPC Shell命令注入漏洞; (4)利用Ja…

directory linux

当然可以!在 Linux 系统中,目录(directory)是文件系统中的一个组织结构单位,用于存储文件。以下是一些与目录相关的常见 Linux 命令和 Shell 脚本示例,帮助你更好地管理目录:一、常见目录相关命令 1. ls 命令 用…

deepin linux 安装

Deepin 是一个基于 Linux 的桌面操作系统,它基于 Debian/Ubuntu 构建,提供了丰富的桌面体验和良好的兼容性。如果你是在使用 Deepin Linux 的环境下进行安装或配置,以下是一些常见操作的 Linux 命令和 Shell 脚本示…

dbca linux

dbca 是 Oracle Database Configuration Assistant 的缩写,用于在 Linux 系统上安装、配置和管理 Oracle 数据库。它是一个命令行工具,用于执行数据库的安装、配置、启动、停止、备份、恢复等操作。 基本用法: dbca…

智慧建筑工地传感器参数一览表

重力传感器 卸扣式重力传感器 "量程0~3T,RS485输出(红﹢黑﹣绿A白B,modbus协议,5~12VDC供电(推荐10VDC),零点输出:≤1%F.S;灵敏度:1.0~2.0mV/V;非线性:≤0.5%F.S;滞后:≤+0.5%F.S;重复性:≤+0.5%…

2025靠谱留学机构推荐TOP5!美国/英国/澳洲多国申请,高录取率机构榜单

2025靠谱留学机构推荐TOP5!美国/英国/澳洲多国申请,高录取率机构榜单随着全球化教育的深入发展,留学申请需求持续攀升,优质的留学机构能为学生提供从选校规划到就业赋能的全链条支持,有效提升申请成功率与未来发展…

04-import 和 export

04-import 和 export$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");一个是导出,一个是导入 就是将组件导出和导入 导出的用法export 方式一:注意:导出和…

藜民百信消费帮扶平台:牵手 832 平台获殊荣,让兴和县农产品出圈、农户腰包鼓

在全国消费帮扶浪潮中,832 平台是连接贫困地区农产品与全国采购市场的重要枢纽。2015 年成立于内蒙古乌兰察布市兴和县的藜民百信,精心打造专属消费帮扶平台,通过深度牵手 832 平台,不仅斩获 “助农增收优秀供应商…

Ollama 部署 Qwen3:0.6B 模型操作记录

1. 安装前准备 系统要求操作系统: Windows 10/11, macOS 或 Linux 硬件要求:CPU: 至少4核处理器 内存: 8GB 或更高(推荐16GB) 存储: 至少有5GB可用空间 GPU: 可选(NVIDIA显卡推荐使用CUDA驱动)网络要求稳定的互联网…

LiveGBS GB28181监控视频平台中如何配置文字文印或图片水印,将水印叠加到播放器或视频内容中

监控视频通过GB28181协议接入到LiveGBS流媒体平台后,如果有加上特殊水印的需求,可以在通道配置里面自行配置。 LiveGBS国标GB28181平台既支持在前端播放窗口叠加水印,又支持服务器后台水印叠加到视频内容中。 1、前…

Linux 项目部署

安装docker后,拉取mysql及jdk镜像docker pull mysql:latest docker pull eclipse-temurin:8-jdk