AcWing 2983. 玩具

题目描述




代码

#include<bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<=(b);++i)
#define ROF(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;namespace geometry{#define PI acos(-1)#define eps 1e-8struct PT {double x,y;PT() {x=0,y=0;}PT(double _x,double _y) {x=_x,y=_y;}friend ostream &operator<<(ostream &o,\const PT &X){o<<X.x<<' '<<X.y;return o;}friend istream &operator>>(istream &i,PT &X){ i>>X.x>>X.y;return i;}PT operator-() {return PT(-x,-y);}PT& operator++() {x=x+1,y=y+1; return *this;}PT operator++(int) {PT T=*this; ++*this; return T;}PT& operator--() {x=x-1,y=y-1; return *this;}PT operator--(int) {PT T=*this; --*this; return T;}PT operator+(const PT &Y){PT T;T.x=this->x+Y.x;T.y=this->y+Y.y;return T;}PT operator-(const PT &Y){PT T;T.x=this->x-Y.x;T.y=this->y-Y.y;return T;}PT operator*(const double k){return PT(x*k,y*k);}PT operator*(const int k){return PT(x*k,y*k);}friend PT operator*(const double k, PT T){return T*k;}friend PT operator*(const int k, PT T){return T*k;}bool operator==(const PT &Y){return fabs(x-Y.x)<eps&&fabs(y-Y.y)<eps;}bool operator!=(const PT &Y){return !(fabs(x-Y.x)<eps&&fabs(y-Y.y)<eps);}double size(){return sqrt(x*x+y*y);}void rotate(double angle){double nx=x*cos(angle)+y*sin(angle);double ny=-x*sin(angle)+y*cos(angle);x=nx,y=ny;}};// struct LI { PT l,r;};int sign(double x){if (fabs(x) < eps) return 0;if (x < 0) return -1;return 1;}bool xless(const PT &X,const PT &Y){return X.x<Y.x;}bool xgreater(const PT &X,const PT &Y){return X.x>Y.x;}double dot(PT a, PT b) {return a.x*b.x+a.y*b.y;}double cross(PT a,PT b){return a.x*b.y-b.x*a.y;}double angle(PT a,PT b){return acos(dot(a,b)/a.size()/b.size());}double ang(double rad) {return rad/PI*180;}double rad(double ang) {return ang/180*PI;}PT line_x_line(PT p,PT v,PT q,PT w){PT u = p - q;double t = cross(w, u) / cross(v, w);return p + v * t;}double dist2line(PT p,PT l,PT r){PT v1 = r - l, v2 = p - l;return fabs(cross(v1, v2) / v1.size());}double dist2sgt(PT p,PT l,PT r){if (l == r) return (p-l).size();PT v1 = r - l, v2 = p - l, v3 = p - r;if(sign(dot(v1, v2))<0) return v2.size();if(sign(dot(v1, v3))>0) return v3.size();return dist2line(p,l,r);}PT line_proj(PT p,PT l,PT r){PT v = r - l;return l+v*(dot(v,p-l)/dot(v,v));}bool on_sgt(PT p,PT l,PT r){return sign(cross(p-l,p-r))==0&&\sign(dot(p-l,p-r))<=0;}bool sgt_x_sgt(PT l1,PT r1,PT l2,PT r2){double c1,c2,c3,c4;c1=cross(r1-l1,l2-l1),c2=cross(r1-l1,r2-l1);c3=cross(r2-l2,r1-l2),c4=cross(r2-l2,l1-l2);return sign(c1)*sign(c2)<=0&&\sign(c3)*sign(c4)<=0;}double area(double a,double b,double c){double p=(a+b+c)/2;return sqrt(p*(p-a)*(p-b)*(p-c));}double area(PT a,PT b,PT c){return fabs(cross((a-b),(b-c))/2);}double area(PT A,PT B){return cross(A,B)/2;}double polygon_area(PT p[], int n){double s = 0;for(int i = 1; i + 1 < n; i ++ )s+=cross(p[i]-p[0],p[i+1]-p[i]);return s / 2;}
}using namespace geometry;
typedef long long LL;
const int N = 5010;int n, m;
PT a[N], b[N];
int ans[N];int find(PT X){int l = 0, r = n;while (l < r){int mid = l + r >> 1;if (area(b[mid]-a[mid], b[mid]-X) > 0) r = mid;else l = mid + 1;}return r;
}int main(){bool is_first = true;while (scanf("%d", &n), n){LL x1, y1, x2, y2;//最左边的竖板用不到scanf("%d%lld%lld%lld%lld", &m, &x1, &y1, &x2, &y2);for (int i = 0; i < n; i ++ ){LL u, l;scanf("%lld%lld", &u, &l);a[i] = {u, y1}, b[i] = {l, y2};}a[n] = {x2, y1}, b[n] = {x2, y2};if (is_first) is_first = false;else puts("");memset(ans, 0, sizeof ans);while (m -- ){PT X; cin>>X;ans[find(X)] ++ ;}for (int i = 0; i <= n; i ++ )printf("%d: %d\n", i, ans[i]);}return 0;
}

AcWing 2983. 玩具相关推荐

  1. AcWing 2983. 玩具 / POJ 2318.toys(计算几何基础、二分、判断点和直线的位置关系)

    计算几何基础题 题目大意就是一个盒子被分成了若干个区域,有m个小球,问每个区域里分别有多少个小球. 我们首先考虑暴力. 我们如何判断小球是否在一个区域内呢,我们发现一个小球在区域x,也就是说所有小于x ...

  2. 【ACWing】2983. 玩具

    题目地址: https://www.acwing.com/problem/content/description/2986/ 计算玩具收纳盒中,每个分区内的玩具数量.约翰的父母有一个烦恼----约翰每 ...

  3. Acwing:GF和猫咪的玩具(Floyd Python)

    题目链接

  4. 2022-2028年中国木制拼板玩具市场调查研究报告

    [报告类型]产业研究 [报告价格]¥4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国木制拼板玩具行业市场行业相关概述.中国 ...

  5. python 全栈开发,Day132(玩具管理页面,控制玩具通讯录,基于请求的好友关系建立)...

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.5.zip 注意:由于涉及到 ...

  6. [bzoj1054][HAOI2008]移动玩具

    题意:在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动 时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初始的玩具 ...

  7. python如何编写数据库_如何在几分钟内用Python编写一个简单的玩具数据库

    python如何编写数据库 MySQL, PostgreSQL, Oracle, Redis, and many more, you just name it - databases are a re ...

  8. vPower系列1: vMotion-没有vMotion,虚拟化只是玩具

    vPower今天开讲,第一篇vMotion.vMotion是虚拟化可以支撑核心应用的重要前提,没有vMotion,虚拟化只是玩具,只能应用在实验环境和开发环境.为什么这么说呢?为什么会有vMotion ...

  9. AcWing 734. 能量石 (01背包)+(贪心 - 领项交换)

    AcWing 734. 能量石 #include<cstdio> #include<algorithm> #include<cstring> #include< ...

最新文章

  1. 我把负载均衡讲出了花,领导却不给我涨工资
  2. Angular内提供了一个可以快速建立测试用web服务的方法:内存 (in-memory) 服务器...
  3. 异步查询回调函数调用
  4. 流水灯verilog实验原理_IC设计实例解析之“流水线技术”
  5. 扫地机器人划伤地板_扫地机器人哪个牌子好?会选的才能买到好产品
  6. android 循环引用,spring循环引用
  7. [JZOJ5553][20190625]谜
  8. 在继续之前,如何暂停我的Shell脚本一秒钟?
  9. 03 聚类算法 - K-means聚类
  10. 小议jQuery插件开发
  11. 智能优化算法:黑猩猩优化算法-附代码
  12. gqview的安装与汉化
  13. 【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩
  14. C语言实现一个矩阵乘法计算器
  15. 程序员段子:电脑在手,代码我有!
  16. 已知四边形的四个点,求一个点是否在四边形之内的解决方法
  17. MTK6737功能展示
  18. 小说里的编程 【连载之二十九】元宇宙里月亮弯弯
  19. 一文带你了解APS生产计划排程系统
  20. Plugin JavaDoc was not installed: Cannot download 'https://plugins.jetbrains.com/pluginManager/?acti

热门文章

  1. IoT物联网速成课程
  2. 微信小程序——通讯录索引实现
  3. 淘宝上付款后接到电话要账号 警方不排除卖家倒卖信息
  4. ie浏览器自动拦截html,win10系统下IE浏览器总是阻止页面窗口弹出怎么办
  5. 一个UI设计师在工作中所需要具备的综合能力!
  6. 2022-2028全球电子多层压敏电阻行业调研及趋势分析报告
  7. 用java在redis中存储对象
  8. 第一章 导言 Optix 光线跟踪编程指南
  9. 编程c语言要数学很好吗,编程与数学的关系:学好编程就能学好数学吗?
  10. 听大咖谈光伏产业如何“走出去”