BZOJ 3513: [MUTC2013]idiots】的更多相关文章

bzoj 3513: [MUTC2013]idiots FFT 链接 bzoj 思路 参考了学姐TRTTG的题解 统计合法方案,最后除以总方案. 合法方案要不好统计,统计不合法方案. \(a+b<=c\)的个数 f[i]是i出现的个数 g[i]表示a+b=i的个数,a<=b 这个可以fft加速到\(nlogn\)统计. 具体的,fft算出ff的卷积,减去自己自己的贡献,然后/2就是了g[i]. 不合法方案数就是:\(\sum f[i]*g[i]\) 最终答案是\(ans=\frac{C_n^3…
3513: [MUTC2013]idiots Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 476  Solved: 162[Submit][Status][Discuss] Description 给定n个长度分别为a_i的木棒,问随机选择3个木棒能够拼成三角形的概率. Input 第一行T(T<=100),表示数据组数. 接下来若干行描述T组数据,每组数据第一行是n,接下来一行有n个数表示a_i. 3≤N≤10^5,1≤a_i≤10^5 Ou…
[MUTC2013]idiots Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 806  Solved: 265[Submit][Status][Discuss] Description 给定n个长度分别为a_i的木棒,问随机选择3个木棒能够拼成三角形的概率. Input 第一行T(T<=100),表示数据组数. 接下来若干行描述T组数据,每组数据第一行是n,接下来一行有n个数表示a_i. 3≤N≤10^5,1≤a_i≤10^5 Output T…
Description 给定n个长度分别为a_i的木棒,问随机选择3个木棒能够拼成三角形的概率. Input 第一行T(T<=100),表示数据组数. 接下来若干行描述T组数据,每组数据第一行是n,接下来一行有n个数表示a_i. 3≤N≤10^5,1≤a_i≤10^5 Output T行,每行一个整数,四舍五入保留7位小数. Sample Input 2 4 1 3 3 4 4 2 3 3 4 Sample Output 0.5000000 1.0000000 HINT T<=20 N<…
想了好长时间最后发现真是石乐志 第一反应就是两边之和大于第三边,但是这个东西必须要满足三次-- 任意的两边之和合通过生成函数套路+FFT求出来(记得去掉重复选取的),然后这任意两边之和大于任意第三边可以用一个前缀和求得(同样记得去重,前缀和里面一定包含前两条边),这样我们就得到了任意两边之和大于任意第三边的组数(这里是算顺序的,(1,2,3)(2,1,3)要算两遍) 然后考虑任意选三条边方案数(算顺序),是\( 6*C_n^3 \),注意到不符合要求的三条边一定是满足两次两边之和大于第三边的,所…
http://www.lydsy.com/JudgeOnline/problem.php?id=3513 组成三角形的条件:a+b>c 其中,a<c,b<c 若已知 两条线段之和=i 的方案数g[i] 线段长度>i的 线段数量 t[i] 答案是否可以表示为 Σ g[i]*t[i] ? 不能,因为 有c是最大的数的限制 去掉c是最大数的限制: 不能组成三角形的条件:a+b<=c 其中,a<c,b<c 在这里,满足条件的c一定是abc中最大的 所以解题思路是 求出不能…
题目传送门 分析: FFT一手统计两根棍子相加的方案 然后一个值2S可能会被同一根S自己乘自己得到 然后要减去 其次,A+B和B+A会被算成两种方案,所以还要除以2 然后不太好算合法的方案数,但是非法的很好算 直接减去小于S的所有方案数乘以长度为S的棍子数就好了.. 疯狂卡常2333 #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #define maxn 5000…
Description 给定n个长度分别为a_i的木棒,问随机选择3个木棒能够拼成三角形的概率. Input 第一行T(T<=100),表示数据组数.接下来若干行描述T组数据,每组数据第一行是n,接下来一行有n个数表示a_i. Output T行,每行一个整数,四舍五入保留7位小数. Sample Input 2 4 1 3 3 4 4 2 3 3 4 Sample Output 0.5000000 1.0000000 HINT T<=20 N<=100000 Source By sbu…
题目描述 给定n个长度分别为a_i的木棒,问随机选择3个木棒能够拼成三角形的概率. 输入 第一行T(T<=100),表示数据组数. 接下来若干行描述T组数据,每组数据第一行是n,接下来一行有n个数表示a_i. 3≤N≤10^5,1≤a_i≤10^5 输出 T行,每行一个整数,四舍五入保留7位小数. 样例输入 2 4 1 3 3 4 4 2 3 3 4 样例输出 0.5000000 1.0000000 提示 T<=20 N<=100000 首先开一个桶就可以得到长度分别为[1,100000…
传送门 fftfftfft经典题. 题意简述:给定nnn个长度分别为aia_iai​的木棒,问随机选择3个木棒能够拼成三角形的概率. 思路:考虑对于木棒构造出生成函数然后可以fftfftfft出两个木棒能够生成的边长和的生成函数 注意去重 我们还可以在读入的时候顺便统计出cnticnt_icnti​表示长度≤i\le i≤i的木棒有多少根. 然后可以算出选出3个木棒不能拼成三角形的方案数,简单容斥一下再算出总选法数即可. 代码: #include<bits/stdc++.h> #define…