题目链接:点击查看

题目大意:在第一个象限内有数个矩形,在第三象限内也有数个矩形,现在第一象限内的矩形向下移动,第三象限内的矩形向右移动,所有矩形的移动速度相同,现在问有多少对矩形可以在第四象限内相交

题目分析:如果直接去求解会比较困难,因为所有的矩形都在移动,但我们可以将模型抽取出来,每次移动的相对运动都比较直接,所有的矩形都沿着 y = x 这条直线相对运动,这样一来我们就可以将所有的矩形投影到 y = - x 这条直线上去,然后用扫描线O(n)计算出贡献了

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=1e5+100;struct Node
{int x,type,state;Node(int x,int state,int type):x(x),state(state),type(type){}bool operator<(const Node& a)const{if(x!=a.x)return x<a.x;if(state!=a.state)return state>a.state;}
};vector<Node>node;int cnt[2];int main()
{
//#ifndef ONLINE_JUDGE
//  freopen("input.txt","r",stdin);
//    freopen("output.txt","w",stdout);
//#endif
//  ios::sync_with_stdio(false);int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){int a,b,c,d;scanf("%d%d%d%d",&a,&b,&c,&d);node.push_back(Node(a-b,1,0));node.push_back(Node(c-d,-1,0));}for(int i=1;i<=m;i++){int a,b,c,d;scanf("%d%d%d%d",&a,&b,&c,&d);node.push_back(Node(a-b,1,1));node.push_back(Node(c-d,-1,1));}sort(node.begin(),node.end());LL ans=0;for(auto it:node){cnt[it.type]+=it.state;if(it.state==1)ans+=cnt[it.type^1];}printf("%lld\n",ans);return 0;
}

牛客 - 云(扫描线)相关推荐

  1. 【牛客 - 370A】签到题(线段树扫描线 或 STLset)(求线段并)

    题干: 链接:https://ac.nowcoder.com/acm/contest/370/A 来源:牛客网 恭喜你找到了本场比赛的签到题! 为了让大家都有抽奖的机会,只需要复制粘贴以下代码(并且稍 ...

  2. 2022牛客寒假算法基础集训营1 ——H 牛牛看云

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 就像罗夏墨迹测试一样,同一片形状的云在不同人的眼中会看起来像各种各样不同的东西. 例如,现在天上飘过了一片长条状的云彩,hina说这片云长得 ...

  3. 华为云牛客网之学生华为云服务器体验之路_1云服务器的购买篇

    这两周偶然的机会,在高交会的展台了解了华为云,同时也参加去深圳2020年的华为开发者大会.一直想入手一台华为云主机学习了解,结果碰上了牛客网的活动,99元包年的学生云服务器只要9块就可以了.简直是白捡 ...

  4. 牛客大回馈,华为云优惠购买与使用心得

    最近牛客与华为云联合推出活动,通过牛客专属链接购买华为云主机,可享受牛客返现.学生机原价99元/年,现通过返现只需要9元/年.对学生党来说简直是福利,白嫖嘛.非学生党,想试试华为云的,也有相关的活动福 ...

  5. 云服务器上部署仿牛客网项目

    云服务器上部署仿牛客网项目 安装JRE 安装Maven 安装MySQL 给mysql导入数据 安装Redis 安装kafka 安装ElasticSearch Wkhtmltopdf 安装tomcat ...

  6. 牛客网华为云服务器,把通过牛客网注册的华为云服务器用起来!

    这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要9块钱, 9块钱, "老夫"激动得无以言表, 简直太棒了! 活动一开始, 我就立马下单购买了, 要做第一个吃螃蟹的人 ...

  7. 牛客网第二次大回馈,关于第一次使用华为云服务器的小小看法

    以前都是用阿里云的,因为阿里云貌似比较便宜,其实对于学生来说那个都挺便宜了哈哈哈哈啊哈哈,但是呢这次看到了简直就是白嫖的华为云服务,说实话我第一次送音箱的时候我心里想,我要音箱有什么用?但是这次送手环 ...

  8. 牛客网华为云服务器,【华为云】-搭建私有云盘心得体会

    本身自己就是计算机专业的,一直就想着买个云服务器了,直到在牛客网上看到了这个学生购买活动, 然后就直接购买了,这真的是相当地划算了,于是就立即购买了. 接下来就给大家分享一下我的使用体验和心得,以及如 ...

  9. 华为云初体验——感谢牛客网与华为云联合送福利

    初闻 今天下午六点多,突然发现牛客网公众号推新了,顺手点了下,没想到牛客网搞活动,购华为云主机还返现!感动!正想买个服务器来搭个视频网站,真是福利,嘿嘿 行动 看到推文当然是赶紧下手啦!,详细步骤如下 ...

最新文章

  1. I.MX6 Goodix GT9xx touchscreen driver porting
  2. MySQL中删除重复数据
  3. Undefined function or method ' ' for input arguments of type 'double' ---错误解决办法
  4. 关于 printk() 对 spi slave 内核驱动程序的性能影响
  5. kettle——入门操作-行列转换(行转列,字段拆分)
  6. cmd mysql 报错_Mysql报错问题汇总
  7. 20190812:两个数组的交集ⅠⅡ
  8. Linux下编译安装qemu和libvirt
  9. asp提交数据500服务器错误信息,windows2003运行ASP发送HTTP 500 - 内部服务器错误怎么处理啊?...
  10. AcWing 895. 最长上升子序列(LIS朴素做法)
  11. 「代码随想录」70. 爬楼梯【动态规划】(完全背包解法)
  12. linux+nginx搭建server与client通过证书双向认证环境
  13. 猿创征文|时间序列分析算法之平稳时间序列预测算法和自回归模型(AR)详解+Python代码实现
  14. NRF52832 PWM 占空比调整详解
  15. 解决双击事件触发两次单击事件
  16. H5小游戏——看你有多色
  17. 2016中国云计算大会
  18. 证明 可逆矩阵A的各列线性无关
  19. 项目场景-------滚动条横向竖向同步滚动
  20. go mod拉取gitlab私有仓库代码问题最全总结

热门文章

  1. html 占用空间 滚动轴_滚动轴承润滑及密封,轧机轴承技术(104)
  2. iis6扩展php_Web服务器IIS6的PHP5.2.5最佳配置方法
  3. redis内存行数据库细节
  4. RabbitMQ快速入门--消息模型介绍
  5. 大型项目中会出现的一些问题:
  6. 查看网卡[网络接口]
  7. 数据采集提升性能篇-使用Mybatis的批量操作api导入数据
  8. 依赖注入_引用其他的bean
  9. 结合zuul网关的鉴权流程
  10. 规格参数查询后台代码实现