【louguP1502】窗口的星星】的更多相关文章

题目链接 P1502 窗口的星星 题解 扫描线+线段树 线段树的每一个节点处理的是左边框放在当前x-1位置时的框内星星的亮度大小 按照x坐标进行离散化,得到离散化后每一个坐标x的可影响的范围 维护扫描线,扫到可以加某颗星星就把星星加进去,扫到该出来的时候就把星星搞出来,线段树维护一下 代码 #include<cstdio> #include<cstring> #include<algorithm> const int maxn = 100007; int n,w,h;…
P1502 窗口的星星 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,"哇~~~~好多星星啊",但他还没给其他房间设一个窗户,天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行.这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上. 输入输出格式 输入格式: 本题有多组数据,第一行为\(T\)表示…
题目链接 用两条扫描线从左往右扫描,距离为W,右边的扫描线扫到就加上,左边的扫到就减去, 线段树上的一点\(x\)维护\((x,x+H)\)的星星总价值,修改时直接修改\((x-H,x)\)就行了 坐标大,离散化 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #define lc (p<<1) #define rc (p<<1|1)…
→传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行.这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上. 输入输出格式 输入格式: 本题有多组数据,第一行为T 表示有T…
Luogu P1502 题意很好理解,就是问给出的矩形套住的最大和. 但是做起来却十分麻烦. --来自疯狂爆10分的愤怒 一个比较高效的思路是--把每一个星星作为左下角向右上方拓展形成一个矩形, 拓展的规则为只要窗口的右上角在这个矩形之内,就可以覆盖到这个星星.然后用线段树维护一条扫描线从左往右扫过去,寻找单点的最大值. 值得注意的是题面提出了窗框上的星星不计入答案,这样一搞整道题就变得相当恶心了 一个比较好理解且比较方便的做法就是以星星的横纵坐标+0.5作为矩形的左下角. 那么这样就能保证这个…
题目链接 把每个星星作为左下角,做出长为\(w-0.5\),宽为\(h-0.5\)的矩形. \(-0.5\)是因为边框上的不算. 离散化\(y\)坐标. 记录\(2n\)个\(4\)元组\((x,y1,y2,light)\),\(light\)指这颗星星的亮度,左正右负. 然后线段树每次在\([y1,y2]\)上加上\(light\),维护最大值即可. #include <cstdio> #include <cstring> #include <cmath> #incl…
扫描线应该打懒标记的-- #include <algorithm> #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int T, n, m, w, h, cnt, uu, vv, ww, zdz[80005], ans, tag[80005]; ll num[20005]; struct Line{ ll xx, yu, yv, fla; }li[20005…
题目链接:https://www.luogu.org/problem/P1502 扫描线的板子题,把每个点看成矩形,存下边(x,y,y+h-1,li)和(x+w-1,y,y+h-1),在按横坐标扫线段更新y区间,线段树维护区间最大值 #include<iostream> #include<algorithm> using namespace std; #define ll long long #define ls l,mid,rt<<1 #define rs mid+1…
将每个点拓展为矩形,将\(y\)离散,延\(x\)轴扫描,每次更新最值 用了一百年的pushdown操作疑似有问题,亦或这道题特殊,我乱改了pushdown位置就过了,我能怎么办,WA了一发,y数组没开够又RE了一发... 话说POJ上的情书让我回忆起童年那个彪悍的女孩,一晃十年了 Fleeting time does not blur my memory of you. Can it really be 4 years since I first saw you? I still rememb…
[学习笔记]线段树-扫描线补充 (IC_QQQ) (感谢 \(IC\)_\(QQQ\) 大佬授以本内容的著作权.此人超然于世外,仅有 \(Luogu\) 账号 尚可膜拜) [学习笔记]线段树详解(全) 上题: 给出N个矩形,求最后所得的图形的面积(周长). 比如这个图形,我们去掉多余的线条,看看它最后的图形: 看到这个花里胡哨的图形,它的面积就是抛开红色的其他部分面积和. 周长呢?就是下面这个图形的红色边长度. 问题是怎么求,这就需要用到扫~描~线~了. 先解决简单一些的面积: 我们假象有一条垂…