一些证明,推荐复制入atom观看

首先我们考虑这个T(n)是什么,我们可以列出递归式:
(definition:T)
T(0) = 1
T(1) = 10
T(n) = 10*T(n-1) + T(n-2) 这个数列与Fibonacci数列有着类似的性质,我们考虑如何计算它某两项的gcd.对于Fibonacci数列我们有:
[此下为Fibonacci数列的性质,关系不大]{
(definition:F)
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2)
(property:F)
1. F(x) Coprime F(x+1)
2. F(n) Divides F(k*n)
3. gcd(F(x),F(y)) = F(gcd(x,y)) 我们来证明一下这些性质,首先是 [1.] 证明:辗转相除显然 这时我们可以发现,只要能证明 [3.] ,就可以推出 [2.] ,具体方法:
(proof:[2.])
假设命题 [3.] 为真:
gcd(F(x),F(k*x))=F(gcd(x,k*x))=F(x)->[2.] 我们考虑如何证明[3.], 我们发现有命题[4.]
(property:F)
4. F(a+b)=F(a)*F(b+1)+F(a-1)*F(b)
(proof:[4.])
考虑对b归纳,
basecase:
F(a+0)=F(a)
F(a+1)=F(a)+F(a-1)
assume forall 0<=b<=t is true, extend to b+1:
F(a+b )=F(a)*F(b+1)+F(a-1)*F(b)
F(a+b-1)=F(a)*F(b )+F(a-1)*F(b-1)
F(a+b+1)=F(a)*F(b+2)+F(a-1)*F(b+1) -> 符合命题 (proof:[3.])
gcd(F(a),F(a+t))=
gcd(F(a),F(a)*F(t+1)+F(a+1)*F(t))=
gcd(F(a),F(a+1)*F(t))=
gcd(F(a),F(t))
应用辗转相减法可得原命题
} 我们现在可以寻找这个T(n)的性质了,仿照寻找F(n)的性质(具体在上面),首先我们要找到T(n)关于很大的T(n+m)的关系.设
(equation:T1)
T(n+m)=T(n)*A(m)+T(n-1)*B(m) 考虑待定系数法
(derivation:T1)
T(n )=T(n)
A(0)=1
B(0)=0
T(n+1)=T(n)*A(1)+T(n-1)*B(1)
A(1)=10
B(1)=1
T(n+m+1)=
T(n+m)*10+T(n+m-1)=
T(n)*A(m)*10+T(n-1)*B(m)*10+T(n)*A(m-1)+T(n-1)*B(m-1)=
T(n)*(A(m)*10+A(m-1))+T(n-1)*(B(m)*10+B(m-1))
A(m+1)=A(m)*10+A(m-1)
B(m+1)=B(m)*10+B(m-1)
<implies that>
A(m)=T(m)
B(m)=T(m-1)
<reduce to>
T(n+m)=T(n)*T(m)+T(n-1)*T(m-1) (equation:B1)
B(n+m)=T(n+m-1)=T(n)*T(m-1)+T(n-1)*T(m-2)=B(n+1)*B(m)+B(n)*B(m-1)
于是发现了与F(n)完全相同的形式,直接沿用F(n)的证明即可推出gcd(B(x),B(y))=B(gcd(x,y))也即gcd(T(n),T(m))=T(gcd(n+1,m+1)-1) 那么剩下的就是求gcd(c^a+1,c^b+1)(b>a), 我们可以考虑gcd(c^b-c^a,c^b+1)., c^b-c^a = c^(b-a)*(c^(b-a)-1) 显然 c^(b-a) Coprime c^b+1, gcd(c^a+1,c^b+1)=gcd(c^b-c^a,c^a+1)=gcd(c^|b-2a|-1,c^a+1) 然后就变成了一个类似辗转相减的东西(我还是不很会整个分析),但是打个表就可以知道这东西值是 c^gcd(a,b)+1 a/gcd(a,b),b/gcd(a,b) odd otherwise
2 c even otherwise
1 c odd 然后这道题就做完了吧

PE440的更多相关文章

  1. ProjectEuler && Rosecode && Mathmash做题记录

    退役选手打发时间的PE计划 挂在这里主要是dalao们看到有什么想交流的东西可以私聊哦(站内信或邮箱吧) 2017/8/11  PE595 :第一题QAQ 2017/8/12  PE598 2017/ ...

随机推荐

  1. img图片自适应div盒子,前提是不要把盒子的高给写死了,就是不要写高,如下

    div{width:100%;}//写高就自适应盒子不起来了 img{width: 100%; height: 100%;}

  2. HDU 3032 Nim or not Nim (sg函数)

    加强版的NIM游戏,多了一个操作,可以将一堆石子分成两堆非空的. 数据范围太大,打出sg表后找规律. # include <cstdio> # include <cstring> ...

  3. Spring WebService 和 搜索

    参考文章: http://blog.csdn.net/kkdelta/article/details/7290769 云计算中主流的Web服务有两种: 1.WebService.内容比较沉重,技术人员 ...

  4. 使用adb shell 进入手机修改文件的权限

    1.将android的tools目录加入到path中,或者直接在adb.exe路径下启动cmd窗口2.adb shell 进入手机后,发现是 $ ,不是 # 号3.在进入shell后运行 su ,就可 ...

  5. 为什么目前没有"成熟"的cookie插件?

    一.序言 最近真是挺忙的啊,导致也挺久没有时间来看看园中各位大神的文章,只能感慨业务真尼玛的多,所以在此写下一篇文章来大话最近工作和学习上面的一点点收获体会,希望大家能够有所收获,这篇文章虽然说是一篇 ...

  6. remove ---会报错discard不会报错

    s = {1,2,3,4,5,6,'sn','7'} s.remove('hellfjsdjfsjdfljsdl')#删除元素不纯在会报错 print(s) s.discard("sbbbb ...

  7. mysql5.7.10 的源码安装

    mysql 5.7.10的源码安装:http://fyduan.blog.51cto.com/4234935/1729873cmake . -DCMAKE_INSTALL_PREFIX=/usr/lo ...

  8. 由Memcached升级到 Couchbase的 Java 客户端的过程记录(二)

    Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现. shiro对缓存的支持 shiro并没有实现缓存 ...

  9. 【SQL】Oracle分页查询的三种方法

    [SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 ? 1 2 3 4 5 6 7 8 9 10 11 [sql] select * from t_user t whe ...

  10. noip2016 Day1T3

    理解错题意了....导致考场上直接爆零TAT 正解就是期望dp啊,dp[i][j][0/1]表示前i节课用了j次机会,这一次用没用的期望代价 看代码吧 #include<iostream> ...