atcoder#ARC082C. [ARC082E] ConvexScore
[ARC082E] ConvexScore
题目描述
二次元平面上に配置された 個の点 が与えられます。 点の部分集合 であって、凸多角形をなすものを考えます。 ここで点集合が凸多角形をなすとは、 頂点の集合が と一致するような正の面積の凸多角形が存在することとします。ただし、凸多角形の内角は全て 未満である必要があります。
例えば下図では、 として {}, {} などは認められますが、{}, {}, {}, {}, {} などは認められません。
に対し、 個の点のうち の凸包の内部と境界 (頂点も含む) に含まれる点の個数を とおき、 のスコアを、 と定義します。
凸多角形をなすような考えうる全ての に対してスコアを計算し、これらを足し合わせたものを求めてください。
ただし答えはとても大きくなりうるので、 で割った余りをかわりに求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
スコアの総和を で割った余りを出力せよ。
题目大意
给定平面上 个点的坐标 。从这 个点中选出一些可以形成凸包的点,构成点集 。点集 形成的凸包是指存在顶点的集合与 中的点一致的正面积的凸多边形。但是,凸多边形的内角必须全部不足180°。
例如图中,点集 { }, { } 即为可以构成凸包的集合,而 { }, { }, { }, { }, 都是不能构成凸包的点集。
对于选出来的集合 ,在 个点中,将 形成的凸包的内部和边上(包括顶点)包含的点的个数设为 ,将 的贡献定义为。
请计算 个点能选出的所有集合 能构成的凸包的贡献和。
但是,由于答案可能会变得非常大,所以请将贡献和对 取模。
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
提示
制約
- なら または
- は整数
Sample Explanation 1
として三角形(をなす点集合)が つと四角形が つとれます。どれもスコアは となるので、答えは です。
Sample Explanation 2
スコア の三角形が つ、スコア の三角形がつ、スコア の三角形が つあるので、答えは です。
Sample Explanation 3
として考えられるものがないので、答えは です。