這題用暴力破解就可以 AC。
因此可以利用 預處理 ,
且因為 為質數,
根據費馬小定理可以得知
因此 在模 下的反元素為
利用快速冪可以在 的時間內得到 在模 下的反元素。
每次詢問只需套公式即可得出解答。
我們可以先回去參考以前的題解,
從題解中可以知道 ,
以及 。
這題因為 很大所以跟之前一樣跑時間複雜度為 的方法是不會過的,
而這題需要改成使用快速冪來解題。
從上面的兩個等式我們可以再寫出以下等式:
也就可以得出:
就是我們最後要的答案。
因為是覆蓋所有點且周長最短的多邊形,
可以得知要求的是凸包的面積,
因此只要先求出凸包,
再利用 cross 計算有向面積加總,
cross 得出來的面積是平行四邊形的面積,
因此需要除以 才是正確的面積。
因為 double 精度不足的原因,
可以先將所有 cross 得到的有向面積加起來,
最後再除以 ,小數點後的數字只會有 或 ,
直接以奇偶數特判輸出即可。
另一個方法是用 long double,
因為 long double 精度有 18 位。
但是 long double 運算速度較慢,因此較不推薦。