E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
3-idiots
HDU 4609
3-idiots
(FFT入门,帮助理解FFT模板)
http://acm.hdu.edu.cn/showproblem.php?pid=46093-idiotsTimeLimit:10000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):7403AcceptedSubmission(s):2569ProblemDescriptionKingOMe
AC之路有笑有泪
·
2020-08-14 05:14
杭电
FFT
3-idiots
HDU - 4609 (FFT +生成函数)
大致题意给n条线段ai,询问不重复的选择3条(i!=j,i!=k,j!=k)线段,能凑成三角形的概率是多少。(3usingnamespacestd;#definemaxn400010#definemaxm1000006#definelllonglongint#defineINF0x3f3f3f3f#defineinc(i,l,r)for(inti=l;i=l;i--)#definemem(a)me
l T l
·
2020-08-10 17:57
数论-生成函数
数论-FFT
数论-容斥
hdu4906:
3-idiots
【FFT】
题意给出n个正整数,求从中任选3个数(下标不重复),求以这三个数为长度的边能构成三角形的概率。分析与解可以用FFT求出两个数的和(注意去重),然后枚举最长边,利用前缀和寻找比他短的和,总和即为不能形成三角形的数量。用总数减去这个数就是构成三角形的数量。#includeusingnamespacestd;intn,a[(1Complex;ComplexA[(1>1]>>1)|((i&1)>1;j++
weixin_30872157
·
2020-08-01 03:50
HDU 4609
3-idiots
FFT+容斥
一点吐槽:我看网上很多分析,都是在分析这个题的时候,讲了半天的FFT,其实我感觉更多的把FFT当工具用就好了分析:这个题如果数据小,统计两个相加为x的个数这一步骤(这个步骤其实就是求卷积啊),完全可以母函数,无奈数据很大,就用FFT了然后难点在于最后的统计,要减去自身,两个都大的,一大一小,包含自身,这是用到了容斥,再做相似的题的时候,应该多看看这方面注:再次高度仰慕kuangbin神,这是我FF
weixin_30449453
·
2020-07-30 02:55
HDU - 4609
3-idiots
(FFT+母函数)
题意:给N个数,求任意选三个数能构成三角形的概率分析:枚举两条边之和的复杂度\(O(N^2)\),显然不行,所以要更高效地做到枚举出两边之和.所以用生成函数搭配FFT在\(O(NlogN)\)的时间内计算两边之和对应的个数.设\(cnt[i]\)为值\(i\)出现的次数.先不考虑元素的重复使用情况,则卷积的两个函数都是数组\(cnt[i]\).设\(ans[i]\)为两边之和为i的个数,但需要减去
weixin_30341735
·
2020-07-30 02:02
HDU 4609
3-idiots
(FFT+组合计数)
3-idiotsTimeLimit:10000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):5921AcceptedSubmission(s):2059ProblemDescriptionKingOMeGacatchedthreemenwhohadbeenstreakinginthestree
alpc_qleonardo
·
2020-07-30 01:01
---------Online
Judge--------
HDU
组合计数
FFT/NTT/FWT
HDU 4609
3-idiots
题目:点击打开链接题意:给定n(n#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingna
Self-Discipline
·
2020-07-30 00:28
FFT
母函数
HDU 4609
3-idiots
计数+FFT
题意:n个数的序列a问从中选出三个数构成三角形的概率?n,a[i]a[k])有多少对这样的数?先求有多少对数的和为a[i],利用前缀和就能求出大于a[i]个数.令c[k]^x^k表示数k的个数有c[k]个.我们可以列出两个相同的生成函数,其乘积第k项的系数也就是和为k的方法数(母函数).因为多项式(生成函数)最多有1e5项,用fft优化多项式相乘O(nlogn).现在知道了两个数和为i的方法数剩下
orz11111111
·
2020-07-29 21:21
数学
------
快速傅里叶变换
HDU 4609
3-idiots
(FFT)
3-idiotsTimeLimit:10000/5000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):6517AcceptedSubmission(s):2269ProblemDescriptionKingOMeGacatchedthreemenwhohadbeenstreakinginthestree
兔蠢蠢
·
2020-07-29 18:45
FFT
3-idiots
hdu4609 母函数+FFT 组合数学题
http://acm.hdu.edu.cn/showproblem.php?pid=4609题意:1e5个数,求取三个数能形成三角形的概率。题解(这怎么会是fft入门题QAQ):概率的算法就是三角形取法/总取法。总取法就是C(n,3).三角形取法如何计算?part1:构造母函数F(日常套路),每一项的次数为长度,系数为该长度的木棍数量,用FFT算F^2,得到的多项式就包含了任意取两跟棍子得到的所有
Vincent19999999
·
2020-07-29 16:07
HDU4609
3-idiots
题目链接问题分析题意就是求随机取\(3\)条边能组成长方形的概率。其实可以看做求方案数。不妨将边长从小到大排序,得到\(a_1,a_2,\cdots,a_n\)。考虑枚举三角形边长中最大的一条\(a_i\),那么\(a_i\)作为最大边时贡献就是\(a_1,a_2,\cdots,a_{i-1}\)中两项加起来大于\(a_i\)的方案数。然而发现这样比较难将复杂度降到\(O(n\logn)\)。不妨
TIANFENG_123456
·
2020-07-29 16:07
HDU 4609
3-idiots
(FFT)
给你n个木棍,长度都是10W以内,问你选三根构成三角形的概率数据范围小的话应该有各种n2的姿势但是现在给10W,考虑母函数,长度作为指数,系数是这个长度的个数然后先考虑任选两根,能组合出的长度有多少种两个相同的多项式做FFT,对于后来的长度,然后要去掉同一根选两次的然后选1和2,和选2和1,是同一种,方案数还得除以2,然后求个系数的前缀和然后现在有了所有两根木棍组合的方案数,考虑枚举最长的木棍是i
Miracle_ma
·
2020-07-29 16:57
HDU4609
3-idiots
(母函数 + FFT)
题目Sourcehttp://acm.hdu.edu.cn/showproblem.php?pid=4609DescriptionKingOMeGacatchedthreemenwhohadbeenstreakinginthestreet.Lookingasidiotsthough,thethreemeninsistedthatitwasakindofperformanceart,andbegge
dengliugong3918
·
2020-07-29 13:50
HDU 4609
3-idiots
FFT计算卷积#includeusingnamespacestd;constintMAXN=1>=1;}returnret;}voidinit(){fac[0]=1;for(inti=1;i=0;i--)inv[i]=inv[i+1]*(i+1)%mod;}voidinitfft(intn){inti,k,x,y,v,dv;for(i=0;i>=1)(y>1];A[i]>>=1;}tmp=0;su
欣君
·
2020-07-06 09:54
----FFT类
----HDU
HDU 4609
3-idiots
三个智障 FFT+组合计数
HDU4609这道三个智障的题目把我做成了智障,先膜拜bin神,他的题解已经很详细Bin神的HDU4609题解这里稍作一些解释:num[i]数组记录的不同长度的strick的个数,num[i]∗num[i]后代表任意可重复地那两根构成的长度的种类数,题目要求是不可重复的,所以要进行第一次去重之后考虑num[i]的前缀和数组sum[i]是为了对三角形的最大边进行枚举,我们知道三条线段构成三角形的充分
legend_PawN
·
2020-07-04 21:53
acm_数学
HDU
HDU-4609-3-idiots
ACM模版题目链接
3-idiots
题解给出n条线段长度,任取三根,组成三角形的概率。使用FFT求可以组成三角形的取法有几种。
f_zyj
·
2020-07-04 15:53
ACM模版篇
数论
HDU 4609
3-idiots
(FFT)
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contentsby---cxlove题意:给出n条边,问选出三条边能组成三角形的概率http://acm.hdu.edu.cn/showproblem.php?pid=4609第一次搞FFT,理论还不是非常清楚,首先要了解卷积。我只是来存代码的,具体的可以看kuangbin巨巨的解释http:/
ACM_cxlove
·
2020-07-04 04:53
ACM_数学类
HDU-4609
3-idiots
3-idiots
大意给你\(n\)根木根,任选3根,能组成三角形的概率是多少?
ljxtt
·
2020-01-14 23:00
HDU 4609
3-idiots
(组合数学+FFT)
Description给出n个木棍的长度ai,问从中任意选取三个木棍能组成一个三角形的概率Input第一行为一整数T表示用例组数,每组用例第一行为一整数n表示木棍数量,第二行n个整数ai表示每根木棍的长度(T #include #include #include #include #include #include #include #include #include usingnamespace
V5ZSQ
·
2016-03-04 10:00
HDU 4609
3-idiots
http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意:给你一组数,问可以组成多少个三角形 分析:才知道原来有FFT这个算法。。。 看书还没有看懂,暂且知道有这么个东西 还是看牛人的题解http://www.cnb
·
2015-11-13 15:22
HDU
hdu 4609
3-idiots
http://acm.hdu.edu.cn/showproblem.php?pid=4609 FFT 不会 找了个模板 代码: #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath&g
·
2015-11-13 10:18
HDU
HDU 4609
3-idiots
(FFT)
题意: 给你n (n <= 10^5)个边长ai (ai <= 10^5),问随机取出三条边可以构成三角形的概率是多少。 解题思路: 首先要学会FFT,然后就很好做了。cnt[i]表示边长为i的有多少条,如果要算出所有两条边长的和分别是多少,普通算法是O(n^2),利用FFT卷积可以O(nlogn)得到所有的,然后去重一下O(n)处理总数即可。具体见代码  
·
2015-11-13 09:23
HDU
HDU 4609
3-idiots
(FFT)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意:给出n个正整数(数组A)。每次随机选出三个数。问这三个数能组成三角形的概率为多大? 思路:求出有多少种选择的方案,除以总选择方案即可。用num[i]表示长度为i的出现几次。 对于样例1 3 3 4,我们得到num={0,1,0,2,1}, 对num求卷积,得到:num={0,0,1
·
2015-11-11 09:37
HDU
hdu 4609
3-idiots
FFT
/* hdu 4609
3-idiots
FFT http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html */ #pragma
·
2015-11-10 22:16
HDU
HDU 4609
3-idiots
(FFT-快速傅立叶变换)
【 题意】给定N个树枝,求从中取出三个可以围成三角形的概率 【 思路】 2013多校训练第一场比赛1010题。 一开始就想到了O(n^2)枚举前两个树枝和的算法,赛后群里大牛说计算所有两个树枝和的情况可以用FFT在O(NlogN)时间内做到,于是剩下的问题就便简单了,于是就滚去学FFT了~ FFT可以在O(NlogN)时间内计算点值将多项式A = a1•x 1 + a2•x 2 + …… + a
·
2015-11-08 16:55
HDU
HDU 4609
3-idiots
(FFT-快速傅立叶变换)
【 题意】给定N个树枝,求从中取出三个可以围成三角形的概率 【 思路】 2013多校训练第一场比赛1010题。 一开始就想到了O(n^2)枚举前两个树枝和的算法,赛后群里大牛说计算所有两个树枝和的情况可以用FFT在O(NlogN)时间内做到,于是剩下的问题就便简单了,于是就滚去学FFT了~ FFT可以在O(NlogN)时间内计算点值将多项式A = a1•x 1 + a2•x 2 + …… + a
·
2015-11-08 16:41
HDU
2013 Multi-University Training Contest 1
3-idiots
解题报告: 记录 A_i 为长度为 i 的树枝的数量,并让 A 对它本身做 FFT,得到任意选两个树枝能得到的各个和的数量。枚举第三边, 计算出所有两边之和大于第三条边的方案数,并把前两条边包含最长边的情况减掉就是答案。 1 #include<iostream> 2 #include<stdio.h> 3 #include<al
·
2015-11-07 14:09
test
hdu 4609
3-idiots
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意: 给定 N 个正整数, 表示 N 条线段的长度, 问任取 3 条, 可以构成三角形的概率为多少~ 数据范围: N<=10^5 ~~ 思路:设三边分别为 x, y, z (x<=y<=z) 枚举 z ,统计 x+y 大于 z 的数目 . 比赛时能想到的只有 O(n^2
·
2015-11-05 09:17
HDU
hdu 4609
3-idiots
(快速傅里叶求卷积)
题意:给出n根木棒的长度,取三根木棒,求不取相同木棒且能构成三角形的概率; 参考:http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html 思路:FFT的结果的意义为计算卷积; 卷积是指在两个集合中各取一个数,可能出现的各种数值的个数;(用每个集合中各种可能出现数值的
·
2015-10-31 10:44
HDU
HDU 4609
3-idiots
DescriptionKingOMeGacatchedthreemenwhohadbeenstreakinginthestreet.Lookingasidiotsthough,thethreemeninsistedthatitwasakindofperformanceart,andbeggedthekingtofreethem.Outofhatredtotherealidiots,thekingw
jtjy568805874
·
2015-10-30 21:00
HDU
HDU-4609
3-idiots
FFT
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4609 题意:给n个棒子,求任意组成3根能形成三角形的概率。 用 FFT 求出任意两根棒子组合成新的长度,这种长度的组合有多少种。 用 cnt [ i ] 表示和的长度为 i 的棒子组合有多少种 。 (1) 首先去掉 cnt 里重复的部分,一根棒子不能与自己组合
·
2015-10-30 13:13
HDU
Hdu 4609 (FFT)
题目链接
3-idiots
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/
·
2015-10-27 15:11
HDU
快速傅里叶变换应用之二 hdu 4609
3-idiots
快速傅里叶变化有不同的应用场景,hdu4609就比较有意思。题目要求是给n个线段,随机从中选取三个,组成三角形的概率。 初始实在没发现这个怎么和FFT联系起来,后来看了下别人的题解才突然想起来:组合计数问题可以用多项式的卷积来解决。于是将给的数据进行卷积相乘,利用FFT即可求出三角形任意两条线段组合的可能数目。 然后遍历初始数据,将其作为最长边(这里一开始也没想明白,其实就是只要最长边大于短边
·
2015-10-27 13:51
HDU
hdu 4609
3-idiots
(FFT)
题目链接:hdu46093-idiots代码#include #include #include #include usingnamespacestd; constintmaxn=400040; typedeflonglongll; /*****************FFT************************/ constdoublepi=acos(-1.0); structC
u011328934
·
2015-10-26 21:00
HDU 4609
3-idiots
(FFT)
3-idiots
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K
·
2015-10-21 12:13
HDU
HDU 4609
3-idiots
FFT+计数问题
题目大意:就是现在给出n个长度不超过100000的树枝的长度,n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using
u013738743
·
2015-07-15 12:00
HDU
fft
4609
3-idiots
【HDU】4609
3-idiots
【FFT】
传送门:【HDU】46093-idiots题目分析:我们考虑两边长度之和为n的方案数,设num[x]为长度为x的个数,那么∑nx=1num[n−x]∗num[x]即两边长度之和为n的方案数。容易发现这这正是卷积!然后我们就可以愉快的用FFT预处理出所有的两边长度之和为i的方案数。FFT求出来的第i项的系数就是方案数。由于FFT处理出来的是重复的,以及部分非法的(自己和自己构成两边之和),这些我们可
u013368721
·
2015-04-28 18:00
fft
[省选前题目整理][HDU 4609]
3-idiots
(FFT+生成函数)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4609题目大意给出n根木棍以及它们的长度,求取其中三根长度各不相同的木棍组成三角形的方案数。思路http://blog.csdn.net/qpswwww/article/details/44240723代码#include #include #include #include #include #incl
qpswwww
·
2015-04-09 16:00
[HDU 4609]
3-idiots
(FFT+生成函数)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4609题目大意给出n根木棍以及它们的长度,求取其中三根长度各不相同的木棍组成三角形的方案数。思路不妨设多项式A(x),其中xi前面的系数表示长度为i的木棍个数。那么多项式A(x)2中xi前面的系数表示用两根木棍拼成长度为i的木棍的方案数。我们可以维护一个前缀和sum[i]表示对于所有的j #include
qpswwww
·
2015-03-13 14:00
【FFT】 HDOJ 4609
3-idiots
很难和FFT联系在一起。。。网上百度题解做的。。。。http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html#include #include #include #include #include #include #include #include #include #include #include #include #in
blankcqk
·
2014-11-06 21:00
HDU
fft
hdu4609
3-idiots
FFT
跟n条边,求任选三条边可以组成三角形的概率。求出n条边组成三角形的方案数,再除以C(n,3)就可以了,所以这题转化成n条边求可组成的三角形数。首先用一个数组num[i]记录长度为i的边出现了几次,之后求num的卷积,即可得到n条边中任取两条边的和的长度各出现了多少次,拿第一组样例来说a[]={1334}转化成num={0,1,0,2,1},{0,1,0,2,1}*{0,1,0,2,1}得到{
yanglei040
·
2014-03-05 15:00
FFT 变化
hdu46093-idiotsFFT分类: 模版 数学 stl2013-09-3019:01 81人阅读 评论(0) 收藏 举报[cpp] viewplaincopy/* hdu 4609
3-idiots
pi9nc
·
2013-10-02 10:00
数学
数学
STL
STL
模版
模版
hdu 4609
3-idiots
FFT
/* hdu46093-idiotsFFT http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html */ #pragmawarning(disable:4786) #pragmacomment(linker,"/STACK:102400000,102400000") #include #include #include #in
qq172108805
·
2013-09-30 19:00
HDU 4609
3-idiots
(FFT)
题意:给你n(n #include #include #include usingnamespacestd; typedeflonglongll; constdoublepi=acos(-1.0); constintmaxn=100000+5; constdoubleeps=1e-6; structComplex{ doublea,b; Complex(){} Complex(doublea,d
u010710717
·
2013-09-26 23:00
hdu 4609
3-idiots
FFT乘法fft在超大整数乘法中的应用貌似能把时间从o(n^2)降低到o(nlogn)#include #include #include #include #ifdef__GNUC__ #endif//__GNUC__ usingnamespacestd; typedeflonglongll; constintMAXN=400100; constdoublePI=acos(-1.0); stru
solotzg
·
2013-08-27 10:00
hdu 4609
3-idiots
快速傅里叶变换/FFT
#include #include #include #include #include #include usingnamespacestd; #definemaxn400040 #defineLL__int64 constdoublepi=atan(1.0)*4; structcomplex{//复数,重载+,-,* doublea,b; complex(doubleaa=0,doublebb
a601025382s
·
2013-08-17 17:00
快速傅里叶变换FFT
DU 4609
3-idiots
FFT
题意还是比较好懂。 给出若干个木棍的长度,问这些木棍构成三角形的可能性。 那么公式很容易知道 就是这些木棍组成三角形的所有情况个数 除以 从n个木棍中取3个木棍的情况数量C(n, 3) 即可 但是很显然分子不太好求。 因为木棍数据量是n^5 暂时没有办法,于是看到木棍的边长,数据量也是10^5,似乎预示着什么 那么我们可不可以这样:根据三角形的性质,两边之和大于第三边。我们就枚举
·
2013-08-06 18:00
IO
DU 4609
3-idiots
FFT
题意还是比较好懂。给出若干个木棍的长度,问这些木棍构成三角形的可能性。那么公式很容易知道就是这些木棍组成三角形的所有情况个数除以从n个木棍中取3个木棍的情况数量C(n,3)即可但是很显然分子不太好求。因为木棍数据量是n^5暂时没有办法,于是看到木棍的边长,数据量也是10^5,似乎预示着什么那么我们可不可以这样:根据三角形的性质,两边之和大于第三边。我们就枚举每个木棍,假设该木棍是三角形中的最大边,
sdj222555
·
2013-08-06 10:00
HDU4609
3-idiots
多校那时候我还年轻,没能理解FFT,只知道它能够进行信号在时域和频域上的转换。现在学习了FFT在多项式乘法上的应用,感觉对FFT的理解更深了一层。要搞懂FFT,首先要理解卷积。先抄一下wikipedia函数f与g的卷积记作,它是其中一个函数翻转并平移后与另一个函数的乘积的积分,是一个对平移量的函数。积分区间取决于f的定义域与g的定义域。对于定义在离散域的函数,卷积定义为理解了卷积之后,我们可以把F
huangshenno1
·
2013-07-30 17:00
HDU 4609
3-idiots
解题报告
题目2013多校训练第一场题意:有10^5条边,任选三条能组成三角形的概率?题解:因为边很多,所以要用FFT。将边长变换后,对应元素自乘,再逆变换,就可以得到所有两条边和的方案数。但是由于同一条边可能选两次,所以要去掉这种情况。用一个pre[i]来记两条边和大于i的方案数,枚举三角形的最长边,那么另外两条边的和必须比它大,但是这样算出来的方案数还包括了最长边也在另外两条边、最长边可能比另外两条边短
u010638776
·
2013-07-26 19:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他