Difference between revisions of "2018 Multi-University, HDU Day 10"

From EOJ Wiki
Jump to navigation Jump to search
Line 8: Line 8:
  
 
Solved by zerol. 01:18 (+2)
 
Solved by zerol. 01:18 (+2)
 +
 +
题意:对于树上的每个点,求 lca 恰好是这个点的点对中点权 gcd 的最大值。
 +
 +
题解:对于树上每个点,求出一个 bitset 记录了子树中所有数的因数并,然后依次合并儿子以及自己本身,合并前取位与检查最高位的 1。(bitset._Find_first() 可以求出第一个 1 的位置。)
 +
 +
另解:线段树合并 / set 启发式合并。
  
 
== Problem G ==
 
== Problem G ==

Revision as of 14:46, 22 August 2018

Problem C

Unsolved. (-32)

做自闭了。

Problem E

Solved by zerol. 01:18 (+2)

题意:对于树上的每个点,求 lca 恰好是这个点的点对中点权 gcd 的最大值。

题解:对于树上每个点,求出一个 bitset 记录了子树中所有数的因数并,然后依次合并儿子以及自己本身,合并前取位与检查最高位的 1。(bitset._Find_first() 可以求出第一个 1 的位置。)

另解:线段树合并 / set 启发式合并。

Problem G

Solved by OEIS. 00:42 (+)

Problem H

Solved by ultmaster. 00:08 (+)

题意:求 $2^n$。

题解:高精度。或

printf("%.0f\n", pow(2, n));

Problem I

Solved by kblack. 00:51 (+)

Problem J

Solved by zerol. 02:19 (+4)

题意:对于两个点集 S_1, S_2,求 $\max\{dist(x,y)+w_x+w_y | x\in S_1,y\in S_2\}$,距离为曼哈顿距离,最多五维。

题解:K-D Tree 暴力,要多加一些剪枝才能过。

正解:枚举每一维绝对值的正负,记录 $2^5$ 种可能的最大值,将另一个点集带入,取最大值即可。

Problem L

Solved by kblack. 01:21 (+)