NAIPC 2019 A - Piece of Cake(凸包计算)
学习:https://blog.csdn.net/qq_21334057/article/details/99550805
题意:从nn个点中选择kk个点构成多边形,问期望面积。
题解:如果能够确定两个点,那么可以从这两个点之间选择k−2个点来构成一个k边形。所以可以枚举两个点,计算这两个点被选入构成凸包的概率和对凸包贡献的面积。
#include <bits/stdc++.h>
#define fopi freopen("in.txt", "r", stdin)
#define fopo freopen("out.txt", "w", stdout)
using namespace std;
typedef long long LL;
typedef long double ld;
const int maxn = + ; struct Point {
ld x, y;
}a[maxn]; ld C[maxn][maxn]; void getC(int n) {
C[][] = ;
for (int i = ; i <= n; i++) {
C[i][] = ;
for (int j = ; j <= i; j++)
C[i][j] = C[i-][j] + C[i-][j-];
}
} ld Cross(Point a, Point b) {
return a.x*b.y - a.y*b.x;
} int n, k;
int main() {
ios::sync_with_stdio(false); cin >> n >> k;
getC(n); for (int i = ; i <= n; i++)
cin >> a[i].x >> a[i].y; ld ans = ;
for (int i = ; i <= n; i++)
for (int j = k-; j <= n-; j++) {
int t = i+j;
if (t > n) t -= n;
ans += Cross(a[i], a[t]) * C[j-][k-] / C[n][k];
} printf("%.7Lf\n", ans/);
}
NAIPC 2019 A - Piece of Cake(凸包计算)的更多相关文章
- A - Piece of Cake Kattis - pieceofcake (数学)
题目链接: A - Piece of Cake Kattis - pieceofcake 题目大意:给你一个多边形,然后给你这个多边形的每个点的坐标,让你从这个n个点中选出k个点,问这个k个点形成的面 ...
- Win8 Metro(C#)数字图像处理--2.74图像凸包计算
原文:Win8 Metro(C#)数字图像处理--2.74图像凸包计算 /// <summary> /// Convex Hull compute. /// </summary> ...
- ZOJ 3537 Cake(凸包判定+区间DP)
Cake Time Limit: 1 Second Memory Limit: 32768 KB You want to hold a party. Here's a polygon-shaped c ...
- ZOJ - 3537 Cake (凸包+区间DP+最优三角剖分)
Description You want to hold a party. Here's a polygon-shaped cake on the table. You'd like to cut t ...
- UVa 109 - SCUD Busters(凸包计算)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- 2019.02.21 bzoj2829: 信用卡凸包(凸包)
传送门 题意:给nnn个A∗BA*BA∗B的矩形,其中每个矩形的四个角被改造成了半径为rrr的四分之一 圆,问这些矩形的凸包周长. 思路:考虑求出圆心的凸包周长然后加上一个整圆的周长,证明很简单,略掉 ...
- Jarvis OJ A Piece Of Cake
看图片的隐写术自闭,本来想看一看jarvisoj 的basic放松一下心情,结果一道题就做了一晚上qwq 首先看到这道题的时候想到的是凯撒密码(这其实是Google之后才知道这个名字的)枚举了26种位 ...
- SCUT - 249 - A piece of Cake - 组合数学
https://scut.online/contest/25/I 由结论:d维物体切n刀分成的部分=sum(C(n,0)~C(n,d)),直接算就行了.
- CF171C 【A Piece of Cake】
遵从题意枚举暴力读人n,再求出$\sum^n_1a[i]*i$然后输出答案,(记得开个long long以免炸掉)以下是代码: #include<bits/stdc++.h> using ...
随机推荐
- 为什么ApplePay在中国一直火不起来?
今年7月,易观发布<中国第三方移动支付市场2018年第1季度监测报告>.报告显示,2018年第一季度支付宝以53.76%的市场份额占据移动支付头把交椅,腾讯金融(微信支付)则以38.95% ...
- [C/C++]编程规范一:头文件篇
一般来说,每一个.cc或者.cpp文件对应一个头文件(.h文件),当然,也有例外,例如一些测试单元或者main文件,头文件的一些规范可以令代码可读性.程序的性能等大为改观,所以还是要注意头文件的规范问 ...
- 吴裕雄--天生自然 PHP开发学习:While 循环
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . &q ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:Number 对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Linux--Centos7开机启动 mysql5.7.19
参考:http://www.cnblogs.com/Anker/p/3551508.html
- rpm -qa -qc 查询安装过的软件
dpkg -l | grep ssh #Ubuntu rpm -qa |grep ssh #centos 通过ps -e |grep ssh命令查看是否启动.如果只有ssh-ag ...
- vue拖拽插件(弹框拖拽)
// =======拖拽 插件 cnpm install vuedraggableimport draggable from 'vuedraggable' <draggable v-model= ...
- 基本 Python 词汇
本文档介绍了要理解“使用 Python 进行地理处理”的帮助文档需要掌握的一些词汇. ! 术语 说明 Python Python 是由 Guido van Rossum 在上世纪八十年代末构想并 ...
- Struts 2的下载和安装
一.为Web应用增加Struts 2支持 下载和安装Struts 2步骤: 登录http://struts.apache.org/download.cgi站点,下载Struts 2的最新版,下载时有以 ...
- cisco路由器license的相关命令简单梳理(转)
转自https://blog.51cto.com/legendland/1900185作者:legendlandlicense:对于IP Base基本的IOS功能外,另外三个技术包(1 数据Data: ...