Codeforces Round #703 (Div. 2)__ B. Eastern Exhibition__ 纯纯的思维
原题链接https://codeforces.com/contest/1486/problem/B
题目

解题思路
这是个思维题, 算是货仓选址的变式, 想要到达各个点距离最小,我们的目标可以化为先求出分别到x y轴各点的最小值区间, x坐标轴上满足条件的点数乘以y坐标轴上满足条件的点数. 那么怎么求在x轴坐标与y轴坐标有多少距离之和最小的点的个数呢?
1).n为奇数, 最小值唯一, 答案即为1
2). 偶数时中位数有两个这时取左右中位数这个闭区间里所有的整数都是最小的,解释: 因为取这个区间里的整数时,你往左边偏一个距离那么左边各个点距离之和减小n/2,右边区间各个点距离之和增加n/2,总体没有变化,最后x坐标轴上满足条件的点数乘以y坐标轴上满足条件的点数, 相当于先求出符合的区间, 再x y轴的相乘。
AC代码
1 #include <bits/stdc++.h>
2
3 using namespace std;
4
5 typedef long long ll;
6 int main()
7 {
8 int t;
9 cin >> t;
10 while(t --)
11 {
12 int n;
13 cin >> n;
14 ll x[1010], y[1010];
15
16 for(int i = 0; i < n; i ++)
17 cin >> x[i] >> y[i];
18
19 if(n % 2 == 1)
20 puts("1");
21 else
22 {
23 sort(x, x + n);
24 sort(y, y + n);
25
26 ll x1 = x[n/2] - x[n/2-1] + 1, y1 = y[n/2] - y[n/2-1] + 1;
27 printf("%lld\n", x1 * y1);
28 }
29 }
30 return 0;
31 }
最后补充下, 看了别人的题解, 有个写法1LL * cnt1 * cnt2
其中用了
1LL;LL其实代表long long,*1LL是为了在计算时,把int类型的变量转化为long long,然后再赋值给long long类型的变量。
Codeforces Round #703 (Div. 2)__ B. Eastern Exhibition__ 纯纯的思维的更多相关文章
- Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维)
Codeforces Round #529 (Div. 3) 题目传送门 题意: 给你由左右括号组成的字符串,问你有多少处括号翻转过来是合法的序列 思路: 这么考虑: 如果是左括号 1)整个序列左括号 ...
- Codeforces Round #703 (Div. 2) (A~E)
A. Shifting Stacks 题目链接 点我跳转 题目大意 给定 \(N\) 个土堆,第 \(i\) 个土堆有 \(Ai\) 个木块 你可以将第 \(i\) 个土堆的木块转移至第 \(i + ...
- Codeforces Round #509 (Div. 2) F. Ray in the tube(思维)
题目链接:http://codeforces.com/contest/1041/problem/F 题意:给出一根无限长的管子,在二维坐标上表示为y1 <= y <= y2,其中 y1 上 ...
- Codeforces Round #553 (Div. 2)B. Dima and a Bad XOR 思维构造+异或警告
题意: 给出一个矩阵n(<=500)*m(<=500)每一行任选一个数 异或在一起 求一个 异或在一起不为0 的每行的取值列号 思路: 异或的性质 交换律 x1^x2^x3==x3^x2 ...
- Codeforces Round #512 (Div. 2) D. Vasya and Triangle(几何+思维)
题目 题意: 给出 n,m,k ,让你在长为 n,宽为 m 的坐标系里构建一个三角形,使得面积= n*m/k.如果存在,输出“YES”,输出三角形三个顶点的坐标: 如果不存在,输出“NO”. 思路: ...
- Codeforces Round #600 (Div. 2) D题【并查集+思维】
题意:给你n个点,m条边,然后让你使得这个这个图成为一个协和图,需要加几条边.协和图就是,如果两个点之间有一条边,那么左端点与这之间任意一个点之间都要有条边. 思路:通过并查集不断维护连通量的最大编号 ...
- Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)
传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...
- Codeforces Round #585 (Div. 2)E(状态压缩DP,思维)
#define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h>using namespace std;long long n,x;long lon ...
- Codeforces Round #631 (Div. 1) B. Dreamoon Likes Sequences 题解(思维+求贡献)
题目链接 题目大意 让你构造一个严格单调上升的数组a满足\(1<=a_1<a_2<....a_n<=d\) 而且要使得这个数组的异或前缀和也满足严格单调上升,求有多少个满足条件 ...
随机推荐
- python3生成10个成绩列表,求其平均分
import random alist = [random.randint(45,101) for _ in range(10)] #在[45.101)之间生成10个随机数 print(alist) ...
- Centos 7.5 通过yum安装GNOME Desktop时出现:file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch
系统版本为: [root@s10 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 由于管理kvm虚拟机的需求,需要安装 ...
- 论文翻译:2021_Acoustic Echo Cancellation with Cross-Domain Learning
论文地址:https://graz.pure.elsevier.com/en/publications/acoustic-echo-cancellation-with-cross-domain-lea ...
- 网络编程-Python的socket库
一.网络连接经常用到的函数 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0)参数一:地址簇 socket.AF_INET IPv4(默认) ...
- 我对arguments.callee的理解
基本理解: 你怎么看待一个函数呢?又如何看待一个函数对象呢?函数和Function之间的关系到底是什么?我觉得理解这些对理解arguments.callee有所帮助. 先说说auguments.cal ...
- Java 中,DOM 和 SAX 解析器有什么不同?
DOM 解析器将整个 XML 文档加载到内存来创建一棵 DOM 模型树,这样可以 更快的查找节点和修改 XML 结构,而 SAX 解析器是一个基于事件的解析器, 不会将整个 XML 文档加载到内存.由 ...
- git和github学习笔记
1. 了解Git和Github 2. 使用Github 3. Git安装和使用 4. Git基本工作流程 5. Git初始化及仓库创建和操作 6. Git管理远程仓库 7. Github Pages ...
- 安装Yarn
安装Yarn Yarn是比npm更高效.快速的包管理器工具,它支持并行下载程序包,并且简化了包管理的复杂度. 使用npm安装yarn,命令npm install -g yarn. 安装后,使用yarn ...
- “一键”生成HTML——Emmet插件常用语法
Emmet是一款文本编辑器/IDE的插件,用来快速生成复杂的HTML代码,只要掌握一些常用的语法(类似于CSS选择器),就可以减少重复编码的工作(主要是懒).我个人惯用的是sublime,因此下文介绍 ...
- 微信小程序加密数据(encryptedData)解密中的PHP代码,php7.1报错
问题描述 最近在开发微信小程序涉及到加密数据(encryptedData)的解密,用的是PHP代码,在运行后报错mcrypt_module_ xxx is deprecated,提示方法已过时了 经研 ...