atcoder#ARC082C. [ARC082E] ConvexScore

[ARC082E] ConvexScore

题目描述

二次元平面上に配置された N N 個の点 (xi,yi) (x_i,y_i) が与えられます。 N N 点の部分集合 S S であって、凸多角形をなすものを考えます。 ここで点集合S S が凸多角形をなすとは、 頂点の集合が S S と一致するような正の面積の凸多角形が存在することとします。ただし、凸多角形の内角は全て 180° 180° 未満である必要があります。

例えば下図では、S S として {A,C,E A,C,E }, {B,D,E B,D,E } などは認められますが、{A,C,D,E A,C,D,E }, {A,B,C,E A,B,C,E }, {A,B,C A,B,C }, {D,E D,E }, {} などは認められません。

cddb0c267926c2add885ca153c47ad8a.png

S S に対し、N N 個の点のうち S S の凸包の内部と境界 (頂点も含む) に含まれる点の個数を n n とおき、 S S のスコアを、2nS 2^{n-|S|} と定義します。

凸多角形をなすような考えうる全ての S S に対してスコアを計算し、これらを足し合わせたものを求めてください。

ただし答えはとても大きくなりうるので、998244353 998244353 で割った余りをかわりに求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N x1 x_1 y1 y_1 x2 x_2 y2 y_2 : : xN x_N yN y_N

输出格式

スコアの総和を 998244353 998244353 で割った余りを出力せよ。

题目大意

给定平面上 NN 个点的坐标 xi,yix_i,y_i。从这 NN 个点中选出一些可以形成凸包的点,构成点集 SS 。点集 SS 形成的凸包是指存在顶点的集合与 SS中的点一致的正面积的凸多边形。但是,凸多边形的内角必须全部不足180°。

例如图中,点集 { A,C,EA,C,E }, { B,D,EB,D,E } 即为可以构成凸包的集合,而 { A,C,D,EA,C,D,E }, { A,B,C,EA,B,C,E }, { A,B,CA,B,C }, { D,ED,E }, \varnothing 都是不能构成凸包的点集。

对于选出来的集合 SS,在 NN 个点中,将 SS 形成的凸包的内部和边上(包括顶点)包含的点的个数设为 nn,将 SS 的贡献定义为2nS2^{n-|S|}

请计算 NN 个点能选出的所有集合 SS 能构成的凸包的贡献和。

但是,由于答案可能会变得非常大,所以请将贡献和对 998244353998244353 取模。

4
0 0
0 1
1 0
1 1
5
5
0 0
0 1
0 2
0 3
1 1
11
1
3141 2718
0

提示

制約

  • 1 < =N < =200 1\ <\ =N\ <\ =200
  • 0 < =xi,yi < 104 (1 < =i < =N) 0\ <\ =x_i,y_i\ <\ 10^4\ (1\ <\ =i\ <\ =N)
  • ij i≠j なら xixj x_i≠x_j または yiyj y_i≠y_j
  • xi,yi x_i,y_i は整数

Sample Explanation 1

S S として三角形(をなす点集合)が 4 4 つと四角形が 1 1 つとれます。どれもスコアは 20=1 2^0=1 となるので、答えは 5 5 です。

Sample Explanation 2

スコア 1 1 の三角形が 3 3 つ、スコア 2 2 の三角形が2 2 つ、スコア 4 4 の三角形が 1 1 つあるので、答えは 11 11 です。

Sample Explanation 3

S S として考えられるものがないので、答えは 0 0 です。