1009:hdu4704 循环节+快速幂
这题直接就是一个公式:2^(n-1),不过n有10^(10^5)这么大,只能用字符串取模慢慢搞。所以得求出幂的循环节,然后把n取模,最后在对取完模后的n用快速幂搞。比赛的时候由于求循环节的时候i写错了,最后的循环节求出来是500000004,而答案是500000003,唉~~~苦逼了。后来还是靠ws给的公式搞得,不过我觉得循环节的求法掌握了才是本质。能解决所有的题吧。
我傻逼了,最后看了下解题报告,直接用费马小定理搞就行了,求毛线循环节,以前也做过这样的题,竟然没想到,唉~~~
费马小定理:(a,p)=1,a^(p-1)=1modp,所以n直接对(p-1)取模就行了,唉~~~~~~
后面是代码:http://blog.csdn.net/qq415200973/article/details/10197033
1001:hdu4696 找规律
仔细想想,其实有两种状况是永远也不可嫩达到的,d是奇数,而给定的是偶数,或者d<=0。然后其他的都可以达到,从1开始循环,直到加到d。
代码就不贴了,太水了,比赛的时候测试下也好呀~~~