【油漆面积——线段树,扫描线,不用pushdown的特例,pushup兼有cal的性质】
题目

分析
不用pushdown是因为:
对于modify,操作是互逆过程,因此不会存在向下结算的pushdown过程
对于query,操作始终针对最上层的tr[1],也不需要pushdown
对于pushdown,一则是怕不结算就标记,会通过影响运算顺序,进而影响答案;二则是为了要查没有计算过的深层的帐
代码
#include <bits/stdc++.h>
using namespace std;
using ll = long long;const int N = 1e4+10;int n, m;struct segment
{int x, y1, y2;int k;bool operator < (const segment &b) const{return x < b.x;}
} a[2 * N];
struct node
{int l, r;int st, len;
} tr[4 * N];
void pushup(int u)
{if(tr[u].st) tr[u].len = tr[u].r - tr[u].l + 1;else if(tr[u].r == tr[u].l) tr[u].len = 0;else tr[u].len = tr[u << 1].len + tr[u << 1 | 1].len;
}
void build(int u, int l, int r)
{tr[u] = {l, r};if(l == r) return;else{int mid = l + r >> 1;build(u << 1, l, mid); build(u << 1 | 1, mid+1, r);//pushup(u);}
}
void modify(int u, int l, int r, int k)
{if(l <= tr[u].l && tr[u].r <= r) tr[u].st += k;else{int mid = tr[u].l + tr[u].r >> 1;if(l <= mid) modify(u << 1, l, r, k);if(r > mid) modify(u << 1 | 1, l, r, k);}pushup(u); //这里放到外面是因为pushup还有cal的作用(通过st计算len),所以哪怕没有用到左右结点也要调用
}
int main()
{ios::sync_with_stdio(0); cin.tie(0);cin >> n;for(int i = 1; i <= n; i++){int x1, y1, x2, y2;cin >> x1 >> y1 >> x2 >> y2;a[++m] = {x1, y1, y2, 1};a[++m] = {x2, y1, y2, -1};}sort(a+1, a+m+1);build(1, 0, 9999);ll ans = 0;for(int i = 1; i <= m; i++){if(i > 1) ans += (ll)tr[1].len * (a[i].x - a[i-1].x);modify(1, a[i].y1, a[i].y2 - 1, a[i].k);}cout << ans;
}
相关文章:
【油漆面积——线段树,扫描线,不用pushdown的特例,pushup兼有cal的性质】
题目 分析 不用pushdown是因为: 对于modify,操作是互逆过程,因此不会存在向下结算的pushdown过程 对于query,操作始终针对最上层的tr[1],也不需要pushdown 对于pushdown,一则是怕不结算就标记,会…...
fps武器系统6:随机弹道
文章目录 设计随即弹道 思路连射时在一个范围内随机改变枪口旋转即可 实现改变枪口旋转改变旋转就是改变物体朝向即可随机:锥体随机 疑问旋转体与物体朝向(向量)间的关系为什么随即弹道调用两次 设计 随即弹道 思路 连射时在一个范围内随机改变枪口旋转即可 实现…...
深度学习(1)-简单神经网络示例
我们来看一个神经网络的具体实例:使用Python的Keras库来学习手写数字分类。在这个例子中,我们要解决的问题是,将手写数字的灰度图像(28像素28像素)划分到10个类别中(从0到9)。我们将使用MNIST…...
硬件学习笔记--42 电磁兼容试验-6 传导差模电流干扰试验介绍
目录 电磁兼容试验-传导差模电流试验 1.试验目的 2.试验方法 3.判定依据及意义 电磁兼容试验-传导差模电流干扰试验 驻留时间是在规定频率下影响量施加的持续时间。被试设备(EUT)在经受扫频频带的电磁影响量或电磁干扰的情况下,在每个步进…...
Shader示例 6: 卡渲基础 - 描边 + 着色
0 、获取原神模型: 【游戏开发实战】下载原神模型,PMX转FBX,导入到Unity中,卡通渲染,绑定人形动画(附Demo工程)-CSDN博客 《原神》公测视频征集计划 一、描边pass:Outline 1. …...
Cherno C++ P55 宏
这篇文章我们讲一下C当中的宏。其实接触过大型项目的朋友可能都被诡异的宏折磨过。 宏是在预处理当中,通过文本替换的方式来实现一些操作,这样可以不用反复的输入代码,帮助我们实现自动化。至于预处理的过程,其实就是文本编辑&am…...
(20)从strlen到strtok:解码C语言字符函数的“生存指南1”
❤个人主页:折枝寄北的博客 ❤专栏位置:简单入手C语言专栏 目录 前言1. 求字符串长度函数1.1 strlen 2. 长度不受限制的字符串函数2.1 strcpy2.2 strcat2.3 strcmp 3. 长度受限制的字符串函数3.1 strncpy3.2 strncat3.3 strncmp 4. 字符串查找函数4.1 st…...
基于deepseek api和openweather 天气API实现Function Calling技术讲解
以下是一个结合DeepSeek API和OpenWeather API的完整Function Calling示例,包含意图识别、API调用和结果整合: import requests import json import os# 配置API密钥(从环境变量获取) DEEPSEEK_API_KEY os.getenv("DEEPSEE…...
Mongodb数据管理
Mongodb数据管理 1.登录数据库,查看默认的库 [rootdb51~]# mongo> show databases; admin 0.000GB config 0.000GB local 0.000GB> use admin switched to db admin > show tables system.version > admin库:admin 是 MongoDB 的管理…...
从短片到长片:王琦携《Mountain》续作迈向新高度
在王琦(Qi Wang)的带领下,广受关注的短片《Mountain》迎来了成长篇续作《Rite of the Mountain》。这一全新长片不仅是她从短片迈向长篇叙事的重要一步,更是一次大胆的艺术挑战。作为制片人的她,将继续以敏锐的视觉风格和深刻的叙事洞察,拓展《Mountain》所触及的情感深度,并构…...
DeepSeek应用——与PyCharm的配套使用
目录 一、配置方法 二、使用方法 三、注意事项 1、插件市场无continue插件 2、无结果返回,且在本地模型报错 记录自己学习应用DeepSeek的过程,使用的是自己电脑本地部署的私有化蒸馏模型...... (举一反三,这个不单单是可以用…...
c#中“事件-event”的经典示例与理解
在C#编程语言中,事件(Event)是一个非常重要的概念,它提供了一种松耦合的方式,让对象间能够通知彼此,而无需直接联系。事件的使用可以让我们的代码更加灵活、可扩展且易于维护。 事件可以视作委托的实例&…...
如何画产品功能图、结构图
功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等,不同的应用场景和目标下,需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形…...
标准输入输出流,面向对象,构造函数
标准输入输出流 为什么不直接用printf和scanf? 不能输入/输出C新增的内容 std C的一些标识符,都是定义在std这个名字空间下面cout 是什么? 1.是一个ostream对象 output stream:输出流使用 <<:输出流运算符 作用:将右边…...
Vue2 中使用 UniApp 时,生命周期钩子函数总结
在 Vue2 中使用 UniApp 时,生命周期钩子函数是一个重要的概念。它允许开发者在特定的时间点运行代码,管理组件的生命周期。以下是 Vue2 中 UniApp 常用的生命周期钩子函数总结: 1. beforeCreate 说明: 组件实例刚被创建,此时数据…...
QEMU源码全解析 —— 内存虚拟化(12)
接前一篇文章:QEMU源码全解析 —— 内存虚拟化(11) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 QEMU内存管理模型...
如何将ubuntu下的一个目录,保存目录结构为一个git仓库并上传
目录 1. 初始化本地Git仓库 2. 添加文件到仓库 3. 提交更改 4. 创建并关联远程仓库 5. 推送代码到远程仓库 完整流程总结 要将Ubuntu下的一个目录(例如rpc)保存为一个Git仓库并上传到远程仓库,您可以遵循以下步骤: 1. 初始…...
深度学习中通道数的理解
目录 一、通道(Channels)的作用 1. 表示输入数据的多样性 2. 提取多层次特征 3. 信息融合与交互 4. 控制模型的复杂度 5. 支持多任务学习 6. 实际应用中的通道设计 7. 总结 二、案例一 1. 输入图像的通道(RGB) 2. 输出特…...
2025寒假天梯赛训练5
L1-3 敲笨钟 - 2025寒假天梯赛训练5 思路:一般ex的模拟题,主要是找好空格的位置进行修改替换。 #include <bits/stdc.h> using namespace std; #define int long long #define endl "\n" #define sz(x) (int)x.size() #define e empla…...
PowerBI 矩阵 列标题分组显示(两行列标题)
先看效果 数据表如下: 我们在powerbi里新建一个矩阵,然后如图加入字段: 我们就会得到这样的矩阵: 我们在“可视化”->“列”,上双击,输入空格,就能消除左上角的"类别"两字 同理修…...
服务器部署DeepSeek,通过Ollama+open-webui部署
1. 安装ollama 1.1. linux 安装 Ollama是目前常用的AI模式部署的第三方工具,能一键部署deepSeek Ollama官方网址https://ollama.com/ 选择Download下载对应的服务版本 服务器选择Linux,下面是下载代码 curl -fsSL https://ollama.com/install.…...
PVE 磁盘管理详解:从 Windows 到 Linux 的思维转换(文末附资源)
Proxmox VE(PVE)是一款基于 Debian Linux 的虚拟化平台,其文件系统管理与 Windows 差异较大,尤其是磁盘和文件夹的设计逻辑。本文将以通俗易懂的方式,详解 PVE 中磁盘管理的核心操作,并对比 Windows 帮助大…...
Ubuntu 连接 air pods
1. sudo vim /etc/bluetooth/main.conf , 修改蓝牙模式为blder 2.sudo /etc/init.d/bluetooth restart, 重启蓝牙,即可连接成功...
【LeetCode Hot100 矩阵】矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵II
矩阵 1. 矩阵置零(Set Matrix Zeroes)解题思路步骤: 代码实现 2. 螺旋矩阵(Spiral Matrix)解题思路具体步骤: 代码实现 3. 旋转矩阵 90 度解决思路代码实现 5. 搜索二维矩阵中的目标值解决思路代码实现 1. …...
民用无人驾驶航空器操控员考试
1. 注册 民用无人驾驶航空器综合管理平台 (caac.gov.cn) 2. 选择 操控员资质 3. 安全操控理论培训 -> 在线视频培训 学习完后选择 【在线考试】 共 50道 单项 选择题,每选项3个,80分及格。 4. 查看 我的合格证 证书有效期2年...
TCP可靠传输的ARQ协议
基本知识 ARQ(Automatic Repeat-reQuest)协议主要包含:停等ARQ协议、连续ARQ协议,其中连续ARQ协议是为了解决停等ARQ协议信道利用率低的问题,目前传统的连续ARQ协议有回退N帧ARQ协议、选择性重传ARQ协议。 注意&#…...
秋招春招投递记录——2024
公司链接待办截止日期已完成状态携程集团(上海)https://campus.ctrip.com/campus-recruitment/简历挂微众银行(武汉)https://campus.webank.com/campus-recruitment/webankhr/测评腾讯云智(重庆)https://jo…...
前端与后端的对接事宜、注意事项
前端与后端的对接事宜、注意事项 一、对接核心流程(完整生命周期) #mermaid-svg-6yzij6OD8DKqiMLD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6yzij6OD8DKqiMLD .error-icon{fill:#552222;}#mermaid-svg-6yzi…...
002 第一个python程序
编程语言 编程语言可以做的事情: 网站开发、软件 、游戏、APP、 小程序、 爬虫、 数据分析、脚本 第一个python程序 找到IDE图标pycharm 新建项目 选择项目路径 创建目录 新建python文件 输入代码 运行程序查看结果 print 介绍 print : 输出内容…...
频率自适应扩张卷积(FADC)详解及代码复现
背景介绍 在介绍频率自适应扩张卷积(FADC)之前,我们需要了解卷积神经网络(CNN)在处理复杂图像任务时面临的挑战。CNN的成功主要依赖于其多层结构和卷积层的设计,这些设计可以有效地捕捉图像的局部特征。然而,随着网络层数的增加,感受野的大小也随之增加,这可能导致一…...
