POJ 2398 Toy Storage

这道题和POJ 2318几乎是一样的。

区别就是输入中坐标不给排序了,=_=||

输出变成了,有多少个区域中有t个点。

 1 #include <cstdio>
 2 #include <cmath>
 3 #include <cstring>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 struct Point
 8 {
 9     int x, y;
10     Point(int x=0, int y=0):x(x), y(y) {}
11 };
12 typedef Point Vector;
13 
14 Point read_point()
15 {
16     int x, y;
17     scanf("%d%d", &x, &y);
18     return Point(x, y);
19 }
20 
21 Point operator + (const Point& A, const Point& B)
22 { return Point(A.x+B.x, A.y+B.y); }
23 
24 Point operator - (const Point& A, const Point& B)
25 { return Point(A.x-B.x, A.y-B.y); }
26 
27 int Cross(const Point& A, const Point& B)
28 { return A.x*B.y - A.y*B.x; }
29 
30 const int maxn = 5000 + 10;
31 int up[maxn], down[maxn], ans[maxn];
32 int n, m;
33 Point A0, B0;
34 
35 int binary_search(const Point& P)
36 {
37     int L = 0, R = n;
38     while(L < R)
39     {
40         int mid = L + (R - L + 1) / 2;
41         Point A(down[mid], B0.y), B(up[mid], A0.y);
42         Vector v1 = B - A;
43         Vector v2 = P - A;
44         if(Cross(v1, v2) < 0) L = mid;
45         else R = mid - 1;
46     }
47     return L;
48 }
49 
50 int main()
51 {
52     //freopen("in.txt", "r", stdin);
53 
54     while(scanf("%d", &n) == 1 && n)
55     {
56         memset(ans, 0, sizeof(ans));
57 
58         scanf("%d", &m); A0 = read_point(); B0 = read_point();
59         for(int i = 1; i <= n; ++i) scanf("%d%d", &up[i], &down[i]);
60         sort(up + 1, up + 1 + n); sort(down + 1, down + 1 + n);
61         for(int i = 0; i < m; ++i)
62         {
63             Point P; P = read_point();
64             int pos = binary_search(P);
65             ans[pos]++;
66         }
67         sort(ans, ans + n + 1);
68 
69         puts("Box");
70         int i;
71         for(i = 0; i <= n; ++i) if(ans[i]) break;
72         while(i <= n)
73         {
74             int cnt = 1;
75             int num = ans[i];
76             while(i <= n && ans[i+1] == ans[i]) { i++; cnt++; }
77             i++;
78             printf("%d: %d\n", num, cnt);
79         }
80     }
81 
82     return 0;
83 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4267393.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux ip forward不起作用,linux-ipforward实现

对于linux的数据包流向&#xff0c;大家应该是比较了解&#xff0c;如果还不是很了解&#xff0c;可以参考《OReilly.Understanding.Linux.Network.Internals.Dec.2005》&#xff0c;其中有一个图非常清楚的描述了数据包的流向。ip的数据包接收函数是ip_rcv()>ip_rcv_finish…

java常见的面试题

1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序C/S(Client/Server),客户端/服务端,桌面应用程序2.你所知道网络协议有那些? HTTP:超文本传输协议 FTP:文件传输协议 SMPT:简单邮件协议 TELNET:远程终端协议 POP3:邮件读取协议 3.Java都有…

java实现原数组根据下标分隔成两个子数组并且在原数组中交换两个子数组的位置...

此类实现:输出一行数组数据&#xff0c;根据输入的下标&#xff0c;以下标位置为结束&#xff0c;将原数组分割成两组子数组。并交换两个子数组的位置&#xff0c;保持子数组中的元素序号不变.如:原数组为7,9,8,5,3,2 以下标3为分割点&#xff0c;分割为子数组一&#xff1a;7,…

linux共享磁盘给指定ip,linux想挂载通过ipsan协议推送上来的磁盘,两个ip共分配了21个未分区的盘,...

先安装iSCSI initiator以及iscsiadmiscsiadm是基于命令行的iscsi管理工具&#xff0c;提供了对iscsi节点、会话、连接以及发现记录的操作。iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README&#xff0c;也可以运行man iscsiadm或iscsiadm --h…

dto与dto相互转换_在DTO上

dto与dto相互转换通常使用DTO或数据传输对象 。 什么不是s&#xff1f; 众所周知&#xff0c;它们源自DDD&#xff08;域驱动设计&#xff09;。 在那里很有意义–域对象具有状态&#xff0c;身份和业务逻辑&#xff0c;而DTO仅具有状态。 但是&#xff0c;当今许多项目正在使用…

动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据...

动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据&#xff1a;由存储过程决定&#xff0c;如果编写的存储过程可以生成需要呈现的表格则直接绑定&#xff0c;否则要动态生成表格转载于:https://www.cnblogs.com/yzl495/p/4269571.html

【APICloud系列|1】华为应用市场 应用版权证书或代理证书怎么填

将apk上传到华为应用市场 首页提交的时候是没有问题的&#xff0c;但是第二次需要更新的时候发现多了一个必填的选项 我的应用被打回来啦&#xff0c;说明这个免责函需要要填写。今天公章还不在公司&#xff0c;还着急上线&#xff0c;不能准时上线就扣20%的工资。

Lambdas中的例外:有点混乱的优雅解决方案

考虑以下用于写入文件的功能&#xff1a; 该方法背后的想法是&#xff0c;以允许用户在不同的实施方式中通过InputStream的方法&#xff0c;以便writeToFile可以被称为例如用GZIPOuputStream &#xff0c; SnappyOuputStream &#xff08;快速压缩&#xff09;或简单的FileIn…

linux ub查看ftp安装,Linux Ubuntu 18.04 安装 FTP服务

安装更新数据源 : apt-get update安装FTP: sudo apt-get install vsftpd服务启动FTP服务: sudo service vsftpd startTip可以使用screen后台运行服务停止FTP服务: sudo service vsftpd stop查看FTP服务状态: sudo service vsftpd status配置新建用户新建/home/uftp目录作为用户…

图片上的文字怎么转换为word

图片上的文字怎么转换为word 很多软件因为自身技术不成熟所有对使用环境操作步骤等有诸多的要求&#xff0c;使得用户使用的时候很不方便。一般的ocr文字识别软件不能在win7系统中使用&#xff0c;有的时候要使用这个软件还要重装系统或是找一台xp系统的电脑&#xff0c;使用受…

【APICloud系列|2】上架安卓应用商店全套流程(小米应用商店、华为应用市场、阿里应用商店、百度手机助手、腾讯应用宝)

​​本次主要讲解前5个平台上架流程及注意事项(注册登录信息自行准备) 1. 腾讯应用宝:http://open.qq.com/ 2. 阿里应用商店(淘宝手机助手,UC应用商店,豌豆荚):http://open.uc.cn/ 3. 百度手机助手:http://app.baidu.com/ 4. 华为应用市场:http://developer.huaw…

socket阻塞与非阻塞,同步与异步、I/O模型

socket阻塞与非阻塞&#xff0c;同步与异步 1. 概念理解 在进行网络编程时&#xff0c;我们常常见到同步(Sync)/异步(Async)&#xff0c;阻塞(Block)/非阻塞(Unblock)四种调用方式&#xff1a;同步&#xff1a; 所谓同步&#xff0c;就是在发出一个功能调用时&#xff0c;…

linux基于域名的虚拟主机,Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机...

Nginx支持的虚拟主机有三种●基于域名的虚拟主机●基于IP的虚拟主机●基于端口的虚拟主机每一种虚拟主机均可通过“server{}" 配置段实现各自的功能基于域名的虚拟主机实验环境1.基础源码包(无密码):https://pan.baidu.com/s/14WvcmNMC6CFX1SnjHxE7JQ2.CentOS 7版本Linux虚…

解决Chrome谷歌浏览器″Adobe Flash Player 插件已被屏蔽″的问题

​​解决Chrome谷歌浏览器"Adobe Flash Player 插件已被屏蔽"的问题如果你确定在电脑上确实已经安装了 Adobe Flash Player 插件&#xff0c;但是打开网页时仍然提示"已屏蔽 Adobe Flash Player 插件" &#xff0c;你可以试试修改下面这两个选项&#xff0…

powermock模拟对象_使用PowerMock测试对象的内部状态

powermock模拟对象大多数单元测试都集中于测试对象的行为以证明其有效。 这可以通过编写一个JUnit测试来实现&#xff0c;该测试调用对象的公共方法&#xff0c;然后测试这些调用的返回值是否与先前定义的一组期望值匹配。 这是一种非常常见且成功的技术。 但是&#xff0c;不应…

Mono for android,Xamarin点击事件的多种写法

&#xff08;一&#xff09;原本java的写法&#xff08;相信很多是学过java的&#xff09;&#xff1a; 需要实现接口View.IOnClickListener&#xff0c;最好也继承类&#xff1a;Activity&#xff0c;因为View.IOnClickListener接口又继承了IJavaObject, IDisposable接口&…

51个赚钱的好方法

有很多方法赚钱。你可以在家工作&#xff0c;你可以做各种自由职业者&#xff0c;你可以在博客&#xff0c;也可以只保存。时间紧迫&#xff0c;我不知道任何人谁不喜欢做一些额外的现金。所以&#xff0c;我得给你51如何赚钱最好的方法的列表。 1.作为自由职业者的工作 工作作…

一句话木马绕过linux安全模式,一句话木马(webshell)是如何执行命令的

在很多的渗透过程中&#xff0c;渗透人员会上传一句话木马(简称webshell)到目前web服务目录继而提权获取系统权限&#xff0c;不论asp、php、jsp、aspx都是如此&#xff0c;那么一句话木马到底是如何执行的呢&#xff0c;下面我们就对webshell进行一个简单的分析。首先我们先看…

如何从finally块访问方法的结果值

尽管JVM是基于堆栈的计算机 &#xff0c;但Java语言实际上并没有为您提供任何访问该堆栈的方法。 即使有时&#xff0c;在极少数情况下&#xff0c;它也会非常有用。 一个例子 方法结果值放在堆栈中。 如果查看以下示例&#xff1a; public int method() {if (something)retu…

第六章 Qt布局管理器Layout

第六章 Qt布局管理器Layout 大家有没有发现一个现象&#xff0c;我们放置一个组件&#xff0c;给组件最原始的定位是给出这个控件的坐标和宽高值&#xff0c;这样Qt就知道这个组件的位置。当用户改变窗口的大小&#xff0c;组件还静静地呆在原来的位置&#xff0c;这有时候显然…