B Beam Cannon 2014上海邀請賽

2022-06-08 17:24:12 字數 1205 閱讀 1388

題意

給 \(n\) 個點和乙個長 \(w\) 寬 \(h\) 的矩形,問平移這個矩形最多能覆蓋多少個點

思路

對於每乙個點,考慮什麼樣的矩形能覆蓋它,考慮矩形的中心點就可以,這樣乙個點對應乙個矩形,然後就是求 \(n\) 個矩形覆蓋次數最多的區域

用線段樹區間查最大就可以

#include#define mid (l+r>>1)

#define lo (o<<1)

#define ro (o<<1|1)

using namespace std;

typedef long long ll;

const int n = 4e4 + 10;

int len[n << 2], tag[n << 2], mx[n << 2];

int n, w, h;

int nums[n], cnt;

void init()

struct line

}l[n];

int ans;

void push_down(int o, int l, int r)

void updt(int l, int r, int v, int o = 1, int l = 1, int r = cnt)

push_down(o, l, r);

if (l <= mid)updt(l, r, v, lo, l, mid);

if (r > mid)updt(l, r, v, ro, mid + 1, r);

mx[o] = max(mx[lo], mx[ro]);

}int main() ;

l[i * 2] = ;

} sort(l + 1, l + 1 + 2 * n);

sort(nums + 1, nums + 1 + cnt);

cnt = unique(nums + 1, nums + 1 + cnt) - nums - 1;

ans = 0;

for (int i = 1; i <= 2 * n - 1; i++)

printf("%d\n", ans);

}}

其實跟掃瞄線沒什麼關係,就是乙個區間修改,區間求最大值的問題

2014冬去春來

一年分為四個季節,每乙個季節都有自己的精彩和漂亮,人生也分季節,我們總是期待季節的變換,等待下一季的到來。轉眼已是5月下旬,偶爾進到空間,發現原來的學弟和學妹們都已經在拍畢業照了,才發現自己已經在社會上奔波了一年,從這些 中又回憶起了自己單純幼稚的大學生活。非常喜歡汪峰的一首歌 生來彷徨 每天走在瘋...

AHOI2014 JSOI2014 騎士遊戲

題目背景 長期的宅男生活中,jyy又挖掘出了一款rpg遊戲。在這個遊戲中jyy會 扮演乙個英勇的騎士,用他手中的長劍去殺死入侵村莊的怪獸。題目描述 在這個遊戲中,jyy一共有兩種攻擊方式,一種是普通攻擊,一種是法術攻擊。兩種攻擊方式都會消耗jyy一些體力。採用普通攻擊進攻怪獸並不能把怪獸徹底殺死,怪...

AHOI2014 JSOI2014 騎士遊戲

題目 思博貪心題寫了乙個半小時沒救了,我也沒看出這是乙個 spfa 來啊 設 dp i 表示徹底乾掉第 i 只怪物的最小花費,乙個非常顯然的事情,就是對於 k i 值最小的怪物滿足 dp i k i 非常好理解,反正到最後都要乾掉這個怪物,何必再把它乾成別的怪物 於是我們按照 k i 的值先排序一下...