P1003 铺地毯(noip 2011)
洛谷——P1003 铺地毯
题目描述
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n 张地毯,编号从 1 到n 。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。
地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
输入输出格式
输入格式:
输入文件名为carpet.in 。
输入共n+2 行。
第一行,一个整数n ,表示总共有 n 张地毯。
接下来的n 行中,第 i+1 行表示编号i 的地毯的信息,包含四个正整数 a ,b ,g ,k ,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a ,b )以及地毯在x轴和y 轴方向的长度。
第n+2 行包含两个正整数 x 和y,表示所求的地面的点的坐标(x ,y)。
输出格式:
输出文件名为carpet.out 。
输出共1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1 。
输入输出样例
3 1 0 2 3 0 2 3 3 2 1 3 3 2 2
3
3 1 0 2 3 0 2 3 3 2 1 3 3 4 5
-1
说明
【样例解释1】
如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,2)的最上面一张地毯是 3 号地毯。
【数据范围】
对于30% 的数据,有 n ≤2 ;
对于50% 的数据,0 ≤a, b, g, k≤100;
对于100%的数据,有 0 ≤n ≤10,000 ,0≤a, b, g, k ≤100,000。
noip2011提高组day1第1题
我一上来就用的暴力算法做的,三从循环,让每一次加入一个地毯以后就修改一次,然后,光荣的各种RE,MLE,TLE。
其实对于他的这个坐标我还是挺纳闷的,为什么坐标都要加,而且他说他给出的是做左下角的坐标,那样的话应该是减啊???
并且他这个地方所说的x,y坐标并不是与我们数学上所说的x,y坐标一样,他这个地方的x竟然是竖着的!!!
数组开小的后果。。。
直接暴力+横纵坐标弄反的的后果。。。
直接暴力。。。。
看来我们要找一个好点的做法,让我们不MLE。。。。
我们判断一个点被谁覆盖的时候,我们可以这样想:对于一块地毯当他的横纵坐标都小于所求点的横纵坐标&&它的横纵坐标都包含在地毯的横纵坐标+地毯的长宽之内,他就被这块地毯覆盖了,这样我们就可以用1重循环求出这个点被谁覆盖了。。。
横纵坐标弄反。。。。
终于对了。。。。
代码:
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #define N 100001 using namespace std; int n,x[N],y[N],a[N],b[N],ans,xx,yy; int main() { scanf("%d",&n); ;i<=n;i++) scanf("%d%d%d%d",&a[i],&b[i],&x[i],&y[i]); scanf("%d%d",&xx,&yy); ;i<=n;i++) { if(a[i]+x[i]>=xx&&a[i]<=xx&&b[i]<=yy&&b[i]+y[i]>=yy) ans=i; } ) printf("-1"); else printf("%d",ans); ; }
P1003 铺地毯(noip 2011)的更多相关文章
- 洛谷P1003 铺地毯 noip2011提高组day1T1
洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...
- 1134 铺地毯【2011年NOIP全国联赛提高组】
http://codevs.cn/problem/1134/ 题目描述 Description 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地 ...
- [NOIP2011] 提高组 洛谷P1003 铺地毯
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的顺序平行于 ...
- 洛谷 P1003 铺地毯
嗯.... 一道比较水的模拟题.. 刚拿到题的时候被它的数据范围吓到了,二维数组不可能开那么大啊,可是一边做发现测试数据太水 ... 先看一下题吧... 题目描述 为了准备一个独特的颁奖典礼,组织者在 ...
- 洛谷P1003铺地毯(提高组)
题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n. 现在将这些地毯按照编号从小到大的顺序平行于 ...
- (水题)洛谷 - P1003 - 铺地毯
https://www.luogu.org/problemnew/show/P1003 一开始觉得是用树套树来区间修改单点查询,但是发现空间不够开. 看了题解发现这个是静态的问题,而且只问一个点的结果 ...
- 洛谷—— P1003 铺地毯
https://www.luogu.org/problem/show?pid=1003 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形 ...
- P1003铺地毯
这道题是2011年提高组第一题,在洛谷被评为普及-.看到题目后直接写了一个纯模拟,结果第一次提交全部RE,后将数组开大,随即MLE.然后又去思索其余方法,采用先将每一个地毯的对角线存下来,然后i--看 ...
- 一个蒟蒻的解题过程记录——洛谷P1003 铺地毯
这到题算是我“火线回归”后码的第一道题,病好了心情不错,发篇博客分享一下 目录: ·题目描述 ·题目分析 ·解题思路 ·代码实现 ·总结 ·题目描述: 为了准备一场特殊的颁奖典礼,组织者在会场的一片矩 ...
随机推荐
- java中properties的使用实例
package com.ywx.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...
- IE11/Flash页游白屏怎么办!立刻开启IE大地址模式!缓解浏览器白屏问题
您是否经常发现IE白屏了,具体表现为点开新网页时无法显示,只能切换标签,用任务管理器一看,内存1.2G之多. 这是因为IE11可能有内存泄露问题,内存不断增长以至于无法申请新的内存,于是IE就完蛋了! ...
- JavaScript 在线测试
<iframe src="http://www.it1352.com/Onlinetools/OnlineCompileCommon/17?c_height=100&r_hei ...
- SQLite – DISTINCT 关键字
SQLite – DISTINCT关键字 使用SQLite DISTINCT关键字与SELECT语句来消除所有重复的记录和获取唯一的记录. 可能存在一种情况,当你有多个表中重复的记录. 获取这些记录, ...
- (三)docker 的启动,重启,关闭命令
docker启动命令,docker重启命令,docker关闭命令 启动 systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重 ...
- js将时间戳装换成日期格式
13位时间戳改为yyyy-MM-dd HH-mm-ss 格式 目标时间戳:1516324500000 formatDateTime (unix) { // 转换时间戳 var date = new D ...
- myBatis.xml文档实例
单个参数:myBatis不会做特殊处理 #{参数名}: 取出参数值 多个参数: myBatis会做特殊处理 多个参数会被封装成一个MAP key:param1 param2.... param10,或 ...
- HTML基础(二)列表标签
无序列表ul ul标签的格式为 <ul> <li>内容1</li> <li>内容2</li> <li>内容3</li> ...
- Mac下Apache服务器的初步搭建
回送地址 127.0.0.1(localhost) ping 这个地址可以检测网卡是否正常 ping 本地地址如果不正常说明网线挂了 // 启动 sudo apachectl -k start ...
- Abaqus用户子程序umat的学习
Abaqus用户子程序umat的学习 说明:在文件中,!后面的内容为注释内容.本文为学习心得,很多注释是自己摸索得到.如有不正确的地方,敬请指正. ! ------------------------ ...