Codeforces Round #500 (Div. 2) C.Photo of The Sky
题意:输入一个n,接下来输入一个长度为2*n的数组,代表n组坐标中的x,y,让你找出n组坐标,使得组成的矩形面积最小
首先对数组进行枚举找出满足条件的最小矩形:
ans=(a[n*2]-a[1])*(a[n+i-1]-a[i]),该等式为一条边最长另一条边最短的情况,乘号两边分别代表x的长度和y的长度,当一个数组中同一个数达到n个,也就使得a[n+i-1]-a[i]=0从而最小面积为0,而因为(a[n*2]-a[1])使得该边可以任意选取a(假设该边为x),另一条边(假设为y)则可以选择n+i-1到i上的元素,把问题可以转换成x轴选取n个元素与y轴选取n个元素,因为a[n*2]为最大的数,a[1]为最小的数,这使得无论数组有多么奇葩,都可以放在x轴上,我们再来看y轴,因为n+i-1-i=n-1,所以这些坐标都可以在矩形上
同时不要忘记ans=1LL*(a[n]-a[1])*(a[n*2]-a[n+1]);的情况
另外加一个read函数,否则大概率超时。。。。
#include <bits/stdc++.h> using namespace std; int read() {int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f; } #define N 100010 int n,a[N<<1]; int main() {n=read();for (int i=1;i<=n*2;i++) a[i]=read();sort(a+1,a+n*2+1);long long ans=1ll*(a[n]-a[1])*(a[n*2]-a[n+1]);for (int i=2;i<=n;i++) ans=min(ans,1ll*(a[n*2]-a[1])*(a[n+i-1]-a[i]));cout<<ans;return 0; }
转载于:https://www.cnblogs.com/Fy1999/p/9393713.html
Codeforces Round #500 (Div. 2) C.Photo of The Sky相关推荐
- Codeforces Round #709 (Div. 1) C. Skyline Photo dp + 单调栈优化
传送门 文章目录 题意: 思路: 题意: 思路: 首先一个非常明显的dpdpdp式子就是f[i]=max(f[j]+val(j+1,i))f[i]=max(f[j]+val(j+1,i))f[i]=m ...
- Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...
- Codeforces Round #742 (Div. 2) F. One-Four Overload 构造 + 二分图染色
传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的矩形,包含...和XXX,你有两种颜色,你需要给...染色使得每个XXX上下左右相邻的...其两种颜色个数相同,输出一种合法方案. ...
- Codeforces Round #675 (Div. 2) F. Boring Queries 区间lcm + 主席树
传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的序列aaa,qqq个询问,每次询问[l,r][l,r][l,r]内的lcmlcmlcm是多少,对1e9+71e9+71e9+7取模. n ...
- Codeforces Round #556 (Div. 1)
Codeforces Round #556 (Div. 1) A. Prefix Sum Primes 给你一堆1,2,你可以任意排序,要求你输出的数列的前缀和中质数个数最大. 发现只有\(2\)是偶 ...
- Codeforces Round 546 (Div. 2)
layout: post title: Codeforces Round 546 (Div. 2) author: "luowentaoaa" catalog: true tags ...
- Codeforces Round #456 (Div. 2)
Codeforces Round #456 (Div. 2) A. Tricky Alchemy 题目描述:要制作三种球:黄.绿.蓝,一个黄球需要两个黄色水晶,一个绿球需要一个黄色水晶和一个蓝色水晶, ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #563 (Div. 2)/CF1174
Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...
最新文章
- 动态创建表格给同一个标签创建点击事件并让点击事件操作内容不一样
- 微型计算机寻址方式命令,寻址方式与基本指令-微机原理实验报告.docx
- 蒙娜丽莎,品牌创新的探索者
- 网站前端性能优化之javascript和css
- 构建LAMP平台及应用系统
- 【java】父类与子类的引用赋值关系
- 汲取Linux灵感 Pivotal开源大数据套件
- Frame buffer分析 - fbmem.c【转】
- 环境配置之:pip 一步到位解决 pytorch-gpu 安装
- Python 手写体识别
- wooyun镜像容器逆向分析
- abp Cannot access a disposed object. A common cause of this error is disposing
- 情感理论-emotion theory
- RNN网络对新冠疫情进行预测
- 入职5年前端工程师针对web前端小白,作出的职业规划建议
- 最新wxid转扫一扫添加好友
- 工具类之十七 基于zxing的二维码生成工具类
- DMA+PWM驱动彩色RGB灯
- 网页自动关机代码HTML,电脑如何自动关机
- python学习 day7_字符串、列表的相关操作