其他分享
首页 > 其他分享> > 解题报告【ACM ICPC 2017–2018, NEERC – Northern Eurasia Finals】

解题报告【ACM ICPC 2017–2018, NEERC – Northern Eurasia Finals】

作者:互联网

前言

和 dX、cmll vp 的,发现这场其实我原本做过一些题,但很巧的是我都没开到这些题,且我根本不记得了,快结束时才发现。

介于有些题我做过并记录过,就不写了。

赛时通过:

A B C D E F G H I J K L M
by M M C D M M D C D

A

题目给的限制既保证了圆不交又保证了圆与 \(x\) 轴相切,那么毛咕咕一下对于 \(x\) 轴上任意一点,它上方的圆的数量并不多,所以我们直接大力维护,建一个动态开点线段树,维护每个区间的圆有哪些,用 set 维护就好了。

时间复杂度 \(\mathcal O(n \log ^ 2 n)\)。

B

恶心题,但是很良心。

虽然我们要手动模拟一个立方体的平面拆开情况,但是注意到出题人很良心地给了一个 Note,所以我们只要枚举 Note 中的 11 种情况就好了,然后交换长宽高多枚举几下,如果队友一起做可能更快。

E

签到暴力题,没啥好说的。

F

哇这题是真的恶心啊。但模块化写起来感觉还行。

发现答案不超过 \(1e5\),那么考虑模拟,具体的,特判第一次放块,发现后面每次放块最大可以使 \(x\) 和 \(y\) 一个加 \(n\) 一个加 \(n - 1\),贪心地想,每次让 \(x\) 和 \(y\) 距离更大的那个加 \(n\),另一个加 \(n - 1\),这一定是最优的,如果两者差距过于悬殊,即一个点已经到了而另一个点没到,那么特判过程中的一种情况,然后后面直接给小的坐标不断 \(+n\) 即可。

特判最后一次摆法,即你需要实现:

..o..
.xo..
..ooo

..ooo
.xo..
..o..

.ooo.
...ox
...o.

...o.
...ox
.ooo.

这种东西,看起来就很恶心啊。

K

考虑 \(n\) 很小的情况,直接 \(2 ^ n\) 枚举

考虑 \(n\) 很大的情况,由于 \(a_i\) 是 \(2 ^ n\) 级别的,而 \(\sum a_i < q\)

那么有效的 \(a_1\) 很少,那么枚举有效的序列 \(a_i\),判断是否能映射成 \(b_i\),得到 \(r\) 后,将 \(s /= r\),然后就类似于二进制 check 搞搞就好了

这个 \(n\) 很小大概是 \(\mathcal O(2 ^ {\frac {64} 3})\) 级别。

标签:Eurasia,Northern,..,...,ooo,特判,ACM,枚举,mathcal
来源: https://www.cnblogs.com/RedreamMer/p/16483396.html