牛客 - 云(扫描线)
题目链接:点击查看
题目大意:在第一个象限内有数个矩形,在第三象限内也有数个矩形,现在第一象限内的矩形向下移动,第三象限内的矩形向右移动,所有矩形的移动速度相同,现在问有多少对矩形可以在第四象限内相交
题目分析:如果直接去求解会比较困难,因为所有的矩形都在移动,但我们可以将模型抽取出来,每次移动的相对运动都比较直接,所有的矩形都沿着 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;
}
牛客 - 云(扫描线)相关推荐
- 【牛客 - 370A】签到题(线段树扫描线 或 STLset)(求线段并)
题干: 链接:https://ac.nowcoder.com/acm/contest/370/A 来源:牛客网 恭喜你找到了本场比赛的签到题! 为了让大家都有抽奖的机会,只需要复制粘贴以下代码(并且稍 ...
- 2022牛客寒假算法基础集训营1 ——H 牛牛看云
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 就像罗夏墨迹测试一样,同一片形状的云在不同人的眼中会看起来像各种各样不同的东西. 例如,现在天上飘过了一片长条状的云彩,hina说这片云长得 ...
- 华为云牛客网之学生华为云服务器体验之路_1云服务器的购买篇
这两周偶然的机会,在高交会的展台了解了华为云,同时也参加去深圳2020年的华为开发者大会.一直想入手一台华为云主机学习了解,结果碰上了牛客网的活动,99元包年的学生云服务器只要9块就可以了.简直是白捡 ...
- 牛客大回馈,华为云优惠购买与使用心得
最近牛客与华为云联合推出活动,通过牛客专属链接购买华为云主机,可享受牛客返现.学生机原价99元/年,现通过返现只需要9元/年.对学生党来说简直是福利,白嫖嘛.非学生党,想试试华为云的,也有相关的活动福 ...
- 云服务器上部署仿牛客网项目
云服务器上部署仿牛客网项目 安装JRE 安装Maven 安装MySQL 给mysql导入数据 安装Redis 安装kafka 安装ElasticSearch Wkhtmltopdf 安装tomcat ...
- 牛客网华为云服务器,把通过牛客网注册的华为云服务器用起来!
这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要9块钱, 9块钱, "老夫"激动得无以言表, 简直太棒了! 活动一开始, 我就立马下单购买了, 要做第一个吃螃蟹的人 ...
- 牛客网第二次大回馈,关于第一次使用华为云服务器的小小看法
以前都是用阿里云的,因为阿里云貌似比较便宜,其实对于学生来说那个都挺便宜了哈哈哈哈啊哈哈,但是呢这次看到了简直就是白嫖的华为云服务,说实话我第一次送音箱的时候我心里想,我要音箱有什么用?但是这次送手环 ...
- 牛客网华为云服务器,【华为云】-搭建私有云盘心得体会
本身自己就是计算机专业的,一直就想着买个云服务器了,直到在牛客网上看到了这个学生购买活动, 然后就直接购买了,这真的是相当地划算了,于是就立即购买了. 接下来就给大家分享一下我的使用体验和心得,以及如 ...
- 华为云初体验——感谢牛客网与华为云联合送福利
初闻 今天下午六点多,突然发现牛客网公众号推新了,顺手点了下,没想到牛客网搞活动,购华为云主机还返现!感动!正想买个服务器来搭个视频网站,真是福利,嘿嘿 行动 看到推文当然是赶紧下手啦!,详细步骤如下 ...
最新文章
- I.MX6 Goodix GT9xx touchscreen driver porting
- MySQL中删除重复数据
- Undefined function or method ' ' for input arguments of type 'double' ---错误解决办法
- 关于 printk() 对 spi slave 内核驱动程序的性能影响
- kettle——入门操作-行列转换(行转列,字段拆分)
- cmd mysql 报错_Mysql报错问题汇总
- 20190812:两个数组的交集ⅠⅡ
- Linux下编译安装qemu和libvirt
- asp提交数据500服务器错误信息,windows2003运行ASP发送HTTP 500 - 内部服务器错误怎么处理啊?...
- AcWing 895. 最长上升子序列(LIS朴素做法)
- 「代码随想录」70. 爬楼梯【动态规划】(完全背包解法)
- linux+nginx搭建server与client通过证书双向认证环境
- 猿创征文|时间序列分析算法之平稳时间序列预测算法和自回归模型(AR)详解+Python代码实现
- NRF52832 PWM 占空比调整详解
- 解决双击事件触发两次单击事件
- H5小游戏——看你有多色
- 2016中国云计算大会
- 证明 可逆矩阵A的各列线性无关
- 项目场景-------滚动条横向竖向同步滚动
- go mod拉取gitlab私有仓库代码问题最全总结