HDU-6222 2017长春 找规律
设t=2*k发现S=t*sqrt(3*k*k-3)
打表,得到数列(前4项为2,4,14,52),我和cyy找了半天一直找出来,最后当等比数列算的,居然过了
然后写下我对找规律类题目的看法
这类规律有哪些(我现在遇到了哪些)
A.多项式:这个应该不用说了,其实大家都很熟悉就是f(n)是关于n的一个多项式,一般这种问题的多项式次数不会超过4,因为次数太高就不好出题了,为了鉴定一个通项公式是一个多项式,可以用多层求差的办法,就是先把就是g(i)=f(i+1)-f(i),h(i)=g(i+1)-g(i),如果是一个多项式,只要次数够多,肯定能找到的
B.指数级:其实这个也不是很难找,今天这个题目的递推公式是a[n]=4a[n-1]-a[n-2];与之类似,肯定还有a[n]=2^n+4^n之类的
但是这些通项公式为指数级的数列也有一个显著特点,那就是lim(x->∞)a[n]/a[n-1]=k,也就是他们的商肯定会趋近于一个定值,这样就可以判断这是指数级的通项公式了
C.没有规律,有时候你以为是找规律,其实是dp,这类题目大多是要求统计[XXXX]的方案数,我感觉吧,统计方案数的题目更多的是要用到dp
怎么做:
A.打表(铁定的打表)
B.判断是不是找规律,是哪类找规律?这一步怕的就是把找规律和dp搞混,找规律的题的特点我之前也说过,但那只是初步判断,判断之后有两种做法
C1.保妥辛苦BM算法:只要这题是有规律的=只要这题是具有递推式的=只要这题属于上面两种规律=就可以用BM算法,但这次我们其实BM算法受阻了,为啥,因为我们准备的mod不够大,BM算法是取模1e9+7,我们这题不需要取模GG。所以:作为教训-->准备一个大质数表
C2.铤而走险找规律:不用说了,找出来了->Oh yeah! ;找不出来->自闭
C3.OEIS离线查询(我还不知道怎么搞,我去学习下)