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 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她.每 ...
随机推荐
- Unity—Compoent类
官方API->Componment 新引入成员 作用 字段 gameobject 该组件所在的游戏对象 tag 游戏对象的标签 Transform 添加在游戏对象上的transform组件 ...
- Chapter03 第四节 c++的算术运算符
c++算术运算符 3.4.1 运算符的优先级和结合性 四则运算参考四则运算优先级,注意括号. 3.4.2 除法的默认类型转换和精度问题 /* * @Description: 除法 * @Author: ...
- 应用安全 - CMS - PHPCMS漏洞汇总
CVE-2011-0644 Date: 2011.1 类型: /flash_upload.php SQL注入 影响版本:phpCMS 2008 V2 PHPCMS PHPCMS通杀XSS 在我要报错功 ...
- 【Linux开发】直接渲染管理
原文地址:https://dri.freedesktop.org/wiki/DRM/ DRM - Direct Rendering Manager DRM是一个内核级的设备驱动,既可以编译到内核中也可 ...
- Arm-linux-gcc-4.3.2安装步骤 (转)
http://blog.chinaunix.net/uid-26119896-id-3302233.html 安装交叉编译工具链: 1.首先以root用户登入 2.复制arm-linux-gcc-4. ...
- 深入理解java:1. JVM虚拟机的构成
1.JVM虚拟机的构成 什么是Java虚拟机? 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的. 但是如果要问什么是虚拟机,恐怕很多人就会模 ...
- [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)
Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528 ...
- Intellij IDEA关闭 Build窗口提示
如果开启了Tomcat的话,我们在idea中代码有错误,并且在切换软件的时候,Idea会不断提示编译错误(Build错误),这个会很烦人.我们可以先将Tomcat关掉,就不会一直弹出Build窗口了.
- python中session的使用
- php手动实现ip2long和long2ip
php手动实现ip2long和long2ip /** * 测试 */ public function testipAction() { $ip = '10.58.101.175'; echo ip2l ...