hdu 4609: 3-idiots (FFT)
题意:从N个数中,选出三个两两不同的数,求这三个数能够作为一个三角形的三边长的概率。
题解:用一个数组num[]记录大小为 i 的数出现的次数,通过 num[] 卷 num[] 得到 num2[],用 num2[i] 表示从N个数中选两个数,这两个数的和为 i 的情况数。然后考虑对三角形的计数,正向不易得到ans,可以考虑三个数不能构成三角形的情况数,那么可以对所有的非法情况根据其中最大一个数来进行分类。最后总的情况数 sum=sigma{ a[i]*presum_num2[i] }
LL a[FFT_MAXN|]; LL num[FFT_MAXN|]; LL num2[FFT_MAXN|]; LL sum[FFT_MAXN|]; int main() { int T; scanf("%d",&T); FFT::init(); while(T--) { int n; LL maxL=; memset(num,,sizeof(num)); scanf("%d",&n); ;i<n;i++) { scanf("%lld",&a[i]); maxL=max(maxL,a[i]); num[a[i]]++; } FFT::convo(num,maxL,num,maxL,num2); ;i<n;i++) num2[a[i]<<]--; ;i<=maxL*;i++) num2[i]/=,sum[i]=sum[i-]+num2[i]; LL q=(LL)n*(n-)*(n-)/; LL p=q; ;i<=maxL;i++) p-=num[i]*sum[i]; printf("%.7lf\n",(double)p/q); } }
hdu 4609: 3-idiots (FFT)的更多相关文章
- HDU 5763 Another Meaning(FFT)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5763 [题目大意] 给出两个串S和T,可以将S串中出现的T替换为*,问S串有几种表达方式. [题解 ...
- 2019.01.02 bzoj3513: [MUTC2013]idiots(fft)
传送门 fftfftfft经典题. 题意简述:给定nnn个长度分别为aia_iai的木棒,问随机选择3个木棒能够拼成三角形的概率. 思路:考虑对于木棒构造出生成函数然后可以fftfftfft出两个木 ...
- A * B Problem Plus HDU - 1402 (FFT)
A * B Problem Plus HDU - 1402 (FFT) Calculate A * B. InputEach line will contain two integers A and ...
- 快速傅里叶(FFT)的快速深度思考
关于按时间抽取快速傅里叶(FFT)的快速理论深度思考 对于FFT基本理论参考维基百科或百度百科. 首先谈谈FFT的快速何来?大家都知道FFT是对DFT的改进变换而来,那么它究竟怎样改进,它改进的思想在 ...
- HDU 5938 Four Operations(四则运算)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- HDU 5775 Bubble Sort(冒泡排序)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- HDU 1711 Number Sequence(数列)
HDU 1711 Number Sequence(数列) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- HDU 1005 Number Sequence(数列)
HDU 1005 Number Sequence(数列) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- 【BZOJ3527】力(FFT)
[BZOJ3527]力(FFT) 题面 Description 给出n个数qi,给出Fj的定义如下: \[Fj=\sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{ ...
- 【BZOJ4827】【HNOI2017】礼物(FFT)
[BZOJ4827][HNOI2017]礼物(FFT) 题面 Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她.每 ...
随机推荐
- 系统分析与设计HW8
描述软件架构与框架之间的区别与联系 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计.架构模式(style)是特定领域常见问题的解决方案. 框架是特定语言和技术的架构应用 ...
- sql语句实现行转列的3种方法实例
sql语句实现行转列的3种方法实例 一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据库里查询出来的会是这样的,但这并不能达到想要的效果,所以要在查询的时候做一下处理,下面话不多说了,来一 ...
- Ehlib好用的版本
EhLib 6.2
- 终极Shell - Oh My Zsh
介绍 zsh: 与 bash 同为 shell 软件,适用于 linux 和 mac,mac 与百度开发机已自带. oh-my-zsh:zsh 的一个开源配置方案,即下即用,免去复杂的配置过程.配置后 ...
- 获取当前页面的title
#-*-coding:utf-8-*-from selenium import webdriverdriver = webdriver.Firefox()driver.get("https: ...
- License开源许可证
- 根据select的option文本选中对应的选项
function selectByOptionTxt(obj,txt){ var optionArr = $(obj).find("option"); for(var i=0;i& ...
- vue使用笔记二
es6\es2015特性http://lib.csdn.net/article/reactnative/58021?knId=1405 使用express-generator初始化你的项目目录http ...
- [转帖]安全公告【安全公告】CVE-2019-0708远程桌面服务远程代码执行漏洞
[安全公告]CVE-2019-0708远程桌面服务远程代码执行漏洞 https://www.landui.com/help/nshow-9716.html 漏洞层出不穷 漏洞信息: 2019年5月14 ...
- java通过正则进行语法分析实现表达式的逻辑判断和复杂计算实现
首先功能展示: 相关功能实现,实现功能类似js,弱语言类型: 1.核销语法解析使用正则校验和匹配实现处理,每一行是一个完整表达式 2.有系统变量使用,内置的变量可直接获取值进行相关逻辑和条件计算 3. ...