博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU4609:3-idiots(FFT)
阅读量:6427 次
发布时间:2019-06-23

本文共 1697 字,大约阅读时间需要 5 分钟。

Description

Input

Output

Sample Input

Sample Output

Solution

题意:给你$n$根木棍,问你任选三根能构成三角形的概率是多少。

写挂sb细节心态崩了

首先把读入的长度$a$数组开个桶$c$存下来,然后卷积一下$c$数组。可以发现卷完后的数组$c$就是“任选两根木棍(可以重复选)长度和为$c[i]$的方案数。”

因为有可能自己和自己算到一起,所以$c[a[i]*2]--$。因为$i+j$,$j+i$是一种,所以要$c[i]=c[i]/2$。

对$c$数组做一下前缀和,记为$sumd$。然后$sort$一下$a$数组,从小到大枚举,统计当$a[i]$为三角形最长边时的方案数,则另外两边之和$>a[i]$。$ans+=sumd[MAX*2]-sumd[a[i]]$

同时这些方案里面还有一些不合法的方案。

另外两条边两条均$>ai$,$ans-=(n-i)*(n-i-1)/2$

另外两条边一条$>ai$,一条$<ai$,$ans-=(n-i)*(i-1)$

另外两条边一条$=ai$,另一条随意,$ans-=n-1$

Code

1 #include
2 #include
3 #include
4 #include
5 #include
6 #define N (400009) 7 #define LL long long 8 using namespace std; 9 10 LL T,n,ans,a[N],fn,l,r[N],d[N],sumd[N],MAX;11 12 double pi=acos(-1.0);13 struct complex14 {15 double x,y;16 complex (double xx=0,double yy=0)17 {18 x=xx; y=yy;19 }20 }c[N];21 22 complex operator + (complex a,complex b){
return complex(a.x+b.x,a.y+b.y);}23 complex operator - (complex a,complex b){
return complex(a.x-b.x,a.y-b.y);}24 complex operator * (complex a,complex b){
return complex(a.x*b.x-a.y*b.y,a.x*b.y+a.y*b.x);}25 complex operator / (complex a,double b){
return complex(a.x/b,a.y/b);}26 27 void FFT(int n,complex *a,int opt)28 {29 for (int i=0; i
>1]>>1) | ((i&1)<<(l-1));67 FFT(fn,c,1);68 for (int i=0; i
>=1, sumd[i]=sumd[i-1]+d[i];77 for (int i=1; i<=n; ++i)78 {79 ans+=sumd[MAX*2]-sumd[a[i]];80 ans-=(n-i)*(n-i-1)/2;//两条都大于a[i]81 ans-=(n-i)*(i-1);//一条大于,一条小于 82 ans-=n-1;//一条等于,一条随意 83 }84 printf("%.7lf\n",1.0*ans/(n*(n-1)*(n-2)/6));85 }86 }

转载于:https://www.cnblogs.com/refun/p/10094652.html

你可能感兴趣的文章
Oracle数据库“Specified cast is农田valid”
查看>>
数据层新思路,写数据库无关的数据层 ORM在数据库内做更为合适
查看>>
armv8(aarch64)linux内核中flush_dcache_all函数详细分析【转】
查看>>
房地产英语 Real estate词汇
查看>>
python接口自动化测试(八)-unittest-生成测试报告
查看>>
第 26 章 MySQL
查看>>
Spring.net 学习笔记之ASP.NET底层架构
查看>>
C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本
查看>>
Java 动态太极图 DynamicTaiChi (整理)
查看>>
微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
查看>>
git使用教程2-更新github上代码
查看>>
张掖百公里,再次折戟
查看>>
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
查看>>
本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
查看>>
图解SSIS监视文件夹并自动导入数据
查看>>
Lucene.Net 2.3.1开发介绍 —— 四、搜索(一)
查看>>
MyBatis Review——开发Dao的方法
查看>>
技术研发国产化进程加快 看传感器企业如何展示十八般武艺
查看>>
技术助力第三次革命
查看>>
《HTML与CSS入门经典(第8版)》——2.6 总结
查看>>