CF 989

今天晚上闲来无事打了一场CF......div.2,第600名。太弱了。算法

T1看懂题以后发现是水题(废话),6min AC。数组

T2仔细思考以后发现可作,可是因为n=p的特判没肯定到底有没有解,WA了一次,觉得本身算法有问题,慌的一匹。spa

T3发现是个构造题,仔细思考发现能够很暴力的构造,写了一会,1:00AC。变量

看T4发现彷佛可作,可是比较麻烦,回头把T2换了种方法A了。这回n == p想清楚了。方法

而后开始肝T4,个人算法细节不少,没打完。移动

最后只A了三题,600名。di

T4:给你数轴上的1e5朵云,每朵云都长L,左端点为xi,有个初速度vi,只可能为±1,云不包含两端点。思考

月亮在坐标0位置,你能够制造风速绝对值不大于w的风,使得全部云的移速加上这个风速。vi

求有多少对云能够经过制造风速恰当的风而同一时刻遮盖月亮。

解①:能够发现每朵云有4种状况:在原点左右,初速度正负。而后要特判云在原点的状况。

云初速度相同必定不行,初速度相背也不行。只能相向而行。

由于速度能够小到0,因此只考虑速度上限便可。一个不等式解出来是C < v,而后v <= w,故C < w

而后把这个一次不等式的两个变量提取出来,能够获得一个约束条件( 其中之一是(b+L)(w-1)>a(w+1) ),用树状数组维护便可。

解②:

发现全部云是相对无风的(???),因而至关于移动月亮。

而后把x-t画出来,就会发现,云的相交是正方形/月亮的可达范围是两条射线围住的。

求在月亮的可达范围内的正方形个数。

而后听说能够二分.....没看下去了。

相关文章
相关标签/搜索