其他分享
首页 > 其他分享> > 2022杭电多校3笔记

2022杭电多校3笔记

作者:互联网

2021杭电多校03

打得很菜,躺了一整场。


1003

签到,取首字母变成大写输出,随便怎么做都行。

1009

取包裹,每个包裹必须在\([l_i,r_i]\)的时间内被取走,每次最多一次性取\(k\)个,问最少取几次。

贪心。考虑排完序后,对于每一个包裹,都尽可能晚的去拿,这样一定是最优。

1012

dp。队友过了

1002

18个技能打boss,每个技能有后摇,会有一段时间的持续伤害,问最小能打死boss的时间。

看到数据范围一眼状压dp,然后为了解决求最小时间讨一个二分即可。注意技能在第0秒就有伤害,题目时间卡的比较紧,如果TLE了可以尝试用快读。

1011

赛后补题。

平面上有\(n\)个点,给出每个点的坐标以及权值\(w_i\),有\(q\)个询问,每个询问给出一个坐标\([x',y']\),定义平面上每个点的费用为\(min(|x_i - x'| + |y_i - y'|,w_i)\),求所有点的最大费用。

对于式子的前一部分,如果我们要对一系列点求最大值,可以将式子拆开绝对值转化为\(max((x'+y') + (-x_i-y_i),(x' - y') + (-x_i+y_i),(-x' +y') +(x_i-y_i),(-x'-y')+(x_i+y_i))\)

观察加减号的特征,可以发现我们只要分别记录四种情况的值,就可以\(O(1)\)算最大值。

我们将平面上的点按\(w_i\)排序,并记录后缀的\(x' + y',x'-y',-x'+y',-x'-y'\)值,然后在序列上进行二分。

如果求得的\(w_i < d\) ,则取\(min\)后答案为\(w_i\),同时取右区间,相反情况同理,取左区间。

标签:杭电多校,每个,min,笔记,boss,2022,dp,技能
来源: https://www.cnblogs.com/iceyz/p/16523247.html