#P11905. [NHSPC 2023] D. 共同子凸包

[NHSPC 2023] D. 共同子凸包

题目描述

在數學上,一個點集合 SS凸包 (convex hull) 定義為包含 SS 的最小凸集合,記作 Conv(S)\operatorname{Conv}(S)。在平面上,若 SS 為非空有限點集合,則 Conv(S)\operatorname{Conv}(S) 為一包含內部與邊界的最小凸多邊形,或其退化形式。另一方面,設 E1E_1E2E_2 為平面上的兩個點集合。若存在某個二維向量 v\mathbf{v},滿足

PE1    P+vE2,P \in E_1 \iff P+\mathbf{v} \in E_2,

則稱 E1E_1E2E_2 經過平移後重合。

現給定平面上的有限點集合 S1S_1S2S_2,並考慮它們的非空子集合 T1S1T_1\subseteq S_1T2S2T_2\subseteq S_2。已知子凸包 Conv(T1)\operatorname{Conv}(T_1) 與子凸包 Conv(T2)\operatorname{Conv}(T_2) 面積皆大於 00 且經過平移後重合,請求出 Conv(T1)\operatorname{Conv}(T_1) 所有可能的面積。

以下展示兩個子凸包平移後重合的例子。

输入格式

nn mm
x1x_1 y1y_1
x2x_2 y2y_2
\vdots
xnx_n yny_n
ξ1\xi_1 η1\eta_1
ξ2\xi_2 η2\eta_2
\vdots
ξm\xi_m ηm\eta_m

  • nn 代表 S1S_1 的集合大小。
  • mm 代表 S2S_2 的集合大小。
  • xi,yix_i, y_i 代表 S1S_1 包含點 (xi,yi)(x_i, y_i)
  • ξi,ηi\xi_i, \eta_i 代表 S2S_2 包含點 (ξi,ηi)(\xi_i, \eta_i)

输出格式

kk
a1a_1
a2a_2
\vdots
aka_k

  • kk 代表若子凸包 Conv(T1)\operatorname{Conv}(T_1) 與子凸包 Conv(T2)\operatorname{Conv}(T_2) 經過平移後重合,Conv(T1)\operatorname{Conv}(T_1) 所有可能的非 00 面積數。
  • aia_i 為一整數,代表 Conv(T1)\operatorname{Conv}(T_1) 所有可能的非 00 面積中,第 ii 小的數的兩倍

提示

測資限制

  • 3n403 \le n \le 40
  • 3m403 \le m \le 40
  • 0xi200 \le x_i \le 20
  • 0yi200 \le y_i \le 20
  • 0ξi200 \le \xi_i \le 20
  • 0ηi200 \le \eta_i \le 20
  • 對任意 i,j{1,2,,n}i, j \in \{1, 2, \ldots, n\},若 iji \ne j,則 (xi,yi)(xj,yj)(x_i, y_i) \ne (x_j, y_j)
  • 對任意 i,j{1,2,,m}i, j \in \{1, 2, \ldots, m\},若 iji \ne j,則 (ξi,ηi)(ξj,ηj)(\xi_i, \eta_i) \ne (\xi_j, \eta_j)
  • 輸入的數皆為整數。

評分說明

本題共有四組子任務,條件限制如下所示。 每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。

子任務 分數 額外輸入限制
1 77 所有可能的非 00 面積必能從 T1T_1T2T_2 中各選 33 個點得到
2 2323 n+m30n+m \le 30
3 4141 S1=S2S_1 = S_2
4 2929 無額外限制