题目链接:

A - Piece of Cake

Kattis - pieceofcake

题目大意:给你一个多边形,然后给你这个多边形的每个点的坐标,让你从这个n个点中选出k个点,问这个k个点形成的面积的期望。

具体思路:我们肯定不能硬跑每一个k边形,肯定会超时。我们以每个点作为起点,从这个点开始,形成的面积的期望是多少,然后遍历每一个点,这样算出来的会有重复,最后除以2就可以了。

然后算面积的时候,我们分开算。一个多边形的面积等于每个点按照顺时针或者是逆时针两个点之间的叉积。

求组合数的时候,用递推的方法。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
# define ll long long
# define inf 0x3f3f3f3f
const int maxn = 2e5+;
struct node{
long double x,y;
}q[maxn];
long double cal(int t1,int t2){
return (q[t1].x*q[t2].y-q[t1].y*q[t2].x);
}
long double c[][];
int main(){
int n,k;
scanf("%d %d",&n,&k);
for(int i=;i<n;i++){
cin>>q[i].x>>q[i].y;
}
for(int i=;i<=n;i++){
c[][i]=;
c[i][]=;
}
for(int i=;i<=n;i++){
for(int j=;j<=i;j++){
c[i][j]=c[i-][j]+c[i-][j-];
}
}
long double ans=;
for(int i=;i<n;i++){
for(int j=k-;j<n;j++){
int to=(i+j)%n;
ans+=cal(i,to)*c[j-][k-]/c[n][k];
//cout<<cal(i,to)<<" "<<c[j-1][k-1]<<" "<<c[n][k]<<endl;
}
}
//cout<<ans<<endl;
ans/=2.0;
cout<<fixed<<setprecision()<<ans<<endl;
}

A - Piece of Cake Kattis - pieceofcake (数学)的更多相关文章

  1. 【LeetCode】1465. 切割后面积最大的蛋糕 Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 找最大间隔之积 日期 题目地址:https://lee ...

  2. Jarvis OJ A Piece Of Cake

    看图片的隐写术自闭,本来想看一看jarvisoj 的basic放松一下心情,结果一道题就做了一晚上qwq 首先看到这道题的时候想到的是凯撒密码(这其实是Google之后才知道这个名字的)枚举了26种位 ...

  3. SCUT - 249 - A piece of Cake - 组合数学

    https://scut.online/contest/25/I 由结论:d维物体切n刀分成的部分=sum(C(n,0)~C(n,d)),直接算就行了.

  4. CF171C 【A Piece of Cake】

    遵从题意枚举暴力读人n,再求出$\sum^n_1a[i]*i$然后输出答案,(记得开个long long以免炸掉)以下是代码: #include<bits/stdc++.h> using ...

  5. 题解【CodeForces171C】A Piece of Cake

    Description 给你\(n\)个数,求出\(\sum_{i=1}^{n} a_{i}\times i\qquad\) Input 共\(n + 1\)个数,分别为\(n\)和\(n\)个数\( ...

  6. NAIPC 2019 A - Piece of Cake(凸包计算)

    学习:https://blog.csdn.net/qq_21334057/article/details/99550805 题意:从nn个点中选择kk个点构成多边形,问期望面积. 题解:如果能够确定两 ...

  7. POJ 1020 Anniversary Cake(DFS)

    Anniversary Cake Time Limit: 1000MSMemory Limit: 10000KB64bit IO Format: %I64d & %I64u Submit St ...

  8. poj 1020 Anniversary Cake(切正方形蛋糕+搜索)

                                                                                                         ...

  9. hdu 4454 Stealing a Cake (三分)

    Stealing a Cake Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

随机推荐

  1. 如何测试连接MsSQL数据库-------UDL文件

    http://www.xinnet.com/service/cjwt/idc/sjk/1360.html 如果您所使用的 SQL Server 数据库连不上,可以通过这个方法进行测试数据库连接. 温馨 ...

  2. vue 本地存储数据 sessionStorage

    在vuex 下的 action下的userAction.js中添加 export function login(from, self) { axPost('/api/login', from, fun ...

  3. (map 并查集) codeVs 2639 约会计划

    题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关 ...

  4. javaSE eclipse tomocat安装与配置

    ---恢复内容开始--- javaSE       下载:       第一步:百度收索jdk downlaod  下载地址:https://www.oracle.com/technetwork/ja ...

  5. STM32L011D4 ----- 低功耗

    After resuming from STOP the clock configuration returns to its reset state (MSI, HSI16 or HSI16/4 u ...

  6. 使用text-align:justify,让内容两端对齐,兼容IE及主流浏览器的方法

    如果不喜欢看分析过程,可以跳到最后看最终兼容方案 史前方法: 以前实现两端对齐是这样的: <p class="box1">密  码</p> <p cl ...

  7. Python递归_打印节点信息

    Python递归_打印节点信息 递归特性:1.必须由一个明确的结束条件2.每次进入更深一层递归时,问题规模相比上一次递归都应该有所减少3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用时 ...

  8. docker的使用 -- windows

    1. 下载docker desktop https://www.docker.com/products/docker-desktop 更多操作指令 ps: 值得注意的是,刚下载下来的docker只能在 ...

  9. python机器学习-sklearn挖掘乳腺癌细胞(三)

    python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...

  10. Hadoop生态圈-Ambari控制台功能简介

    Hadoop生态圈-Ambari控制台功能简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在经历一系列安装过程之后(部署过HDP后我终于发现为什么大家喜欢用它了,部署比CDH简 ...