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

油漆面积--二维差分求区间变化

1.范围小于1e4,用二维差分可以

2.大于就得用扫描线,参考该题题解

区间和用前缀和,区间变化用差分,差分反应面积合并真的好用,如棋盘

3.范围允许暴力也要想到

https://www.luogu.com.cn/problem/P8648

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<ll,int> pii;
int n;
int df[10005][10005];
ll s; 
int a[10005][10005];
int ax,ay;
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;while(n--){int x1,x2,y1,y2;cin>>x1>>y1>>x2>>y2;ax=max(ax,x2+1);ay=max(ay,y2+1);df[x1+1][y1+1]++;df[x1+1][y2+1]--;df[x2+1][y1+1]--;df[x2+1][y2+1]++;		}for(int i=0;i<=ax;i++){for(int j=0;j<=ay;j++){if(i-1>=0&&j-1>=0)df[i][j]=df[i-1][j]+df[i][j-1]-df[i-1][j-1]+df[i][j];if(j-1<0){if(i-1>=0) df[i][j]=df[i-1][j]+df[i][j];else df[i][j]=df[i][j];}if(i-1<0){if(j-1>=0) df[i][j]=df[i][j-1]+df[i][j];else df[i][j]=df[i][j];}if(df[i][j]>=1) s++;}}cout<<s;return 0;
}

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

相关文章:

  • 测序的原理
  • java-JUC概述(进行分类总结-包含原子类、并发集合、线程等)
  • 生成式AI在编程中的应用场景:从代码生成到安全检测
  • 【数据结构】链表 LinkedList
  • Rust 学习笔记:关于 Vector 的练习题
  • 微信小程序全解析:从入门到实战
  • 乡村农家游乐小程序源码介绍
  • 使用 SAMLoRA 提取非正规建筑区
  • 精益数据分析(60/126):移情阶段的终极追问——如何用结构化访谈挖掘真实需求
  • 如何实现k8s高可用
  • 抗体药物研发下半场:人源化技术如何突破免疫原性瓶颈?
  • 【滑动窗口】串联所有单词的子串
  • Linux线程
  • 提高绳牵引并联连续体机器人运动学建模精度的基于Transformer的分段学习方法
  • homeassistant安装
  • 加密原理1
  • C#中的typeof操作符与Type类型:揭秘.NET反射的基础
  • AgenticSeek开源的完全本地的 Manus AI。无需 API,享受一个自主代理,它可以思考、浏览 Web 和编码,只需支付电费。
  • OpenSSH 漏洞-SSH 服务器面临 MitM 攻击和拒绝服务攻击的风险
  • 电路中零极点的含义
  • 学习黑客LAN与WAN详解-网络通信的局域与广域之旅
  • 九、HQL DQL七大查询子句
  • 开发日常中的抓包工具经验谈:Charles 抓包工具与其它选项对比
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- Manus技术解密
  • 高可靠低纹波国产4644电源芯片在工业设备的应用
  • 通义千问-langchain使用构建(二)
  • pytorch中各种乘法操作
  • 英语六级听力
  • 嵌入式开发学习日志(数据结构--双链表)Day21
  • 全栈项目中是否可以实现统一错误处理链?如果可以,这条链路该如何设计?需要哪些技术支撑?是否能同时满足性能、安全性和用户体验需求?