C - Pizza Cutter Gym - 101908C
传送门:QAQ
题意:给你一个矩形,给你几条线,问你矩形被分成了多少区域。
思路:离散化一下后,就是经典的树状数组求逆序数,离散化真好,注意会爆(int)。
附上代码:
#include<stdio.h>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<queue>
using namespace std;
#define inf 0x3f3f3f3f
struct inst {int x;int y;
};
int srt[110000];
int cx[1100000];
inst ax[110000];
const int maxn = 110000;
int n;
long long c[maxn], a[maxn];
int lowbit(int x)
{return (x)&(-x);
}
void update_onepos(int pos, int x)
{while (pos <= maxn){c[pos] += x;pos += lowbit(pos);}
}
long long getsum_onepos(int pos)
{long long sum = 0;while (pos > 0){sum += c[pos];pos -= lowbit(pos);}return sum;
}
void build()
{memset(c, 0, sizeof(c));for (int i = 1; i <= n; i++){update_onepos(i, a[i]);}
}
int cmp(inst a, inst b) {return a.x < b.x;
}
int main(void) {int n, m;scanf("%d%d", &n, &m);int a, b;scanf("%d%d", &a, &b);for (int i = 0; i < a; i++) {scanf("%d%d", &ax[i].x, &ax[i].y);srt[i] = ax[i].y;}build();sort(srt, srt + a);sort(ax, ax + a, cmp);for (int i = 0; i < a; i++) {cx[i] = lower_bound(srt, srt + a, ax[i].y) - srt;}long long sum = 0;for (int i = 0; i < a; i++) {update_onepos(cx[i]+1,1);sum += (i+1 - getsum_onepos(cx[i]+1));}for (int i = 0; i < b; i++) {scanf("%d%d", &ax[i].x, &ax[i].y);srt[i] = ax[i].y;}sort(srt, srt + b);sort(ax, ax + b, cmp);build();for (int i = 0; i < b; i++) {cx[i] = lower_bound(srt, srt + b, ax[i].y) - srt;}for (int i = 0; i < b; i++) {update_onepos(cx[i]+1, 1);sum += (i+1 - getsum_onepos(cx[i]+1));}printf("%lld\n", sum + (long long)a*(long long)b + a + b + 1);return 0;
}
C - Pizza Cutter Gym - 101908C相关推荐
- 轻松练:如何从900万张图片中对600类照片进行分类|技术头条
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」7折优惠最后2天,请扫码咨询 ↑↑↑ 作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科 ...
- 如何从 900 万张图片中对 600 类照片进行分类? | 技术头条
https://www.toutiao.com/a6674844350158995976/ 作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科技大本营( ...
- 如何从900万张图片中对600类照片进行分类,附代码
作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) [导语]完成一个简单的端到端的机器学习模型需要几步?在本文 ...
- 机器学习模型实战!如何从 900 万张图片中对 600 类照片进行分类? | 技术头条...
作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) [CSDN 编者按]完成一个简单的端到端的机器学习模型需要 ...
- Google Open Images Dataset V4
类别名称: (打算用这里面的图片自制一个数据集,包含几个类别) /m/011k07 Tortoise /m/011q46kg Container /m/012074 Magpie /m/0120d ...
- Open Images Dataset V6 简介
文章目录 0. 前言 1. 简介 2. 获取以及标注格式 2.1 数据获取 2.2 标注格式 3. 按类别下载图片脚本 附录:各种类别介绍 检测标签(600类) 视觉关系-人物/物体属性(15类) 视 ...
- Open Images Dataset V5 - Data Formats - Class Names
Open Images Dataset V5 - Data Formats - Class Names https://storage.googleapis.com/openimages/web/do ...
- SaaS,PaaS和IaaS在一张图中进行了解释
本文英文原址:https://m.oursky.com/saas-paas-and-iaas-explained-in-one-graphic-d56c3e6f4606 Photo by Cathal ...
- Check It Again:论文整理
蕴含简介 文本蕴含:文本间的推理关系,又称为文本蕴含关系,作为一种基本的文本间语义联系,广泛存在于自然语言文本中.简单的来说文本蕴含关系描述的是两个文本之间的推理关系,其中一个文本作为前提,另一个文本 ...
- open image v5 标注类别对应
共标注了601类,我需要的类别为 人:Woman,'Man,Person,Boy,Girl 脸:'Human face 头:Human head 车:Car' Bus,Van,Truck labe_d ...
最新文章
- CloudCompare基础教程(1)-介绍
- select,poll,epoll区别面试常问
- 大数据Java基础第十九天作业
- Java读取Excel文件并将之写入数据库操作
- inux CentOS 7 修改内核启动默认顺序
- android 方法超时,android socket.io中的发出或确认超时处理?
- CIO考虑采用超整合基础设施降低硬件成本
- RoboCup智能机器人足球教程(四)
- android动画素材下载,Android Lottie动画使用
- latex排版原理 常用算法排版伪代码模块 添加注释以及注意事项
- 华为VPLS配置案例S6720
- 什么是MysQL数据库
- ROS+UR机械臂系列-1- 虚拟机及ROS安装
- 想炒期货是如何开户的?
- 阵阵的挫败感,让我痛苦迷茫
- vue 上传图片 base64图片无法显示的问题
- linux apache配置工作牡蛎,高山linux docker上的apache-spark启动错误
- CentOS7下的任务计划
- Elastic Job 从单点到高可用、同城主备、同城双活
- Notable —— Markdown 笔记工具
热门文章
- 中国哲学简史 读书笔记
- 遇到【java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter】的解决方案
- Exception in thread “main“ java.lang.NumberFormatException
- 2022化工自动化控制仪表考试试题及模拟考试
- 饥荒控制台输入没用_饥荒控制台怎么开启 饥荒控制台怎么用
- 智能家居十大必备功能 乐享真正智能生活
- <C++>多继承以及典型的菱形继承案例
- matlab 信道容量的迭代算法,实验二一般信道容量迭代算法详解.ppt
- linux拷贝文件前几行,Linux显示文件前几行、拷贝文件前几行、删除文件前几列...
- 计算机网络学生主页链接,计算机网络中一组相关网页通过超链接连接,用于描述一组完整的信息,称为( )。A.网站B.主页C.服 - 扁豆云问答...