P2218 [HAOI2007]覆盖问题】的更多相关文章

P2218 [HAOI2007]覆盖问题 题目描述 某人在山上种了\(N\)棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定用\(3\)个\(L*L\)的正方形塑料薄膜将小树遮起来.我们不妨将山建立一个平面直角坐标系,设第i棵小树的坐标为\((X_i,Y_i)\),\(3\)个\(L*L\)的正方形的边要求平行于坐标轴,一个点如果在正方形的边界上,也算作被覆盖.当然,我们希望塑料薄膜面积越小越好,即求\(L\)最小值…
传送门 首先可以想到二分答案,然后考虑判断 注意到所有点的外包矩形的四条边一定要被覆盖到,而正方形只有 $3$ 个,所以一定有一个正方形在角落 考虑爆搜,枚举正方形在当前外包矩形的那个角,然后对剩下的点的外包矩形继续这样搞 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; ty…
一道不错的题,主要就是一个思路点,想到就行了,想不到就一直卡着. 看完题解之后发现挺简单,实际上自己挣扎半天也咩有想到. 一开始想类比成一维之后贪心,后来被同机房大佬 \(hack\) 掉了. solution 首先二分答案,单调行很好证明,因为大矩形包含小矩形,现在的问题就是 \(check\) 函数 其实一个突破口就是只用三个矩形覆盖. 一维里面用几个矩形理论上都是通过输入给出的,所以一般的题的变量他通过常量给出来,可能就是突破口. 对于题目中所有的点,肯定可以用一个大矩形套住,我们称之为"…
BZOJ 1052: [HAOI2007]覆盖问题 题意:给定平面上横纵坐标在-1e9~1e9内的20000个整数点的坐标,用三个大小相同边平行于坐标轴的正方形覆盖(在边界上的也算),问正方形的边长最小为多少?(整数) 思路:构造一个覆盖所有点的矩形,正方形的端点即为矩形的一角,这样枚举四个角的两个正方形,二分最大长度,看剩下的点是否能被第三个正方形覆盖. ps:构造矩形的思想是看了题解才想到的... #include<iostream> #include<cstdio> #inc…
BZOJ1052 [HAOI2007]覆盖问题 前言 小清新思维题. 最近肯定需要一些思维题挽救我这种碰到题目只会模板的菜鸡. 这题腾空出世? Solution 考虑一下我们二分答案怎么做? 首先转换一下,将这些点用一个尽可能小的矩形全部覆盖. 那么我们求的三个正方形一定会与这一些边有交. 然后前两个正方形直接看是和哪一个角相交.最后一个因为只剩下一个正方形,判断可行性即可. 代码实现 #include<stdio.h> #include<stdlib.h> #include<…
1052: [HAOI2007]覆盖问题 Description 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄 膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将小树遮起来.我们不妨将山建 立一个平面直角坐标系,设第i棵小树的坐标为(Xi,Yi),3个L*L的正方形的边要求平行与坐标轴,一个点如果在 正方形的边界上,也算作被覆盖.当然,我们希望塑料薄膜面积越小越好,即求L最小值. Input 第一行有一个正整数N,表…
1052: [HAOI2007]覆盖问题 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2053  Solved: 959 [Submit][Status][Discuss] Description 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄 膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将小树遮起来.我们不妨将山建 立一个平面直角坐标系,设第i棵小树的坐标为(…
Description 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将小树遮起来.我们不妨将山建立一个平面直角坐标系,设第i棵小树的坐标为(Xi,Yi),3个L*L的正方形的边要求平行与坐标轴,一个点如果在正方形的边界上,也算作被覆盖.当然,我们希望塑料薄膜面积越小越好,即求L最小值.Input 第一行有一个正整数N,表示有多少棵树.接下来有N行,第i+1行有2个整数X…
标题效果:特定n点.涵盖所有的点与同方三面.斧头要求方垂直边界,最小平方的需求方长值 最大值至少.答案是很明显的二分法 但验证是一个问题 考虑仅仅有三个正方形,故用一个最小矩形覆盖这三个正方形时至少有一个在角上 若有四个正方形该结论不成立 于是我们採用DFS的方式 每次用一个最小的矩形覆盖全部的点,枚举矩形的四个角 将正方形填进去 因为最大深度是3,所以时间上全然能够承受 #include<cstdio> #include<cstring> #include<iostream…
题目描述 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定 用3个L*L的正方形塑料薄膜将小树遮起来.我们不妨将山建立一个平面直角坐标系,设第i棵小树的坐标为(Xi,Yi),3个L*L的正方形的边要求平行 与坐标轴,一个点如果在正方形的边界上,也算作被覆盖.当然,我们希望塑料薄膜面积越小越好,即求L最小值. 输入输出格式 输入格式: 第一行有一个正整数N,表示有多少棵树. 接下来有N行,第i+1行有2…