*hdoj 5620 KK's Steel
简单到只要看出是斐波那契数列就能ac,可是我看不出来鸭?
*lightoj 1213 - Fantasy of a Summation
找规律+快速幂,还要使劲取余防止溢出。难点:推公式+溢出
*lightoj 1282 - Leading and Trailing
输出n^k的前三位和后三位,后三位可以用快速幂取1000的模,直接得到答案。
前三位的取值有一定的技巧,这里先假设:n^k=a.bc...×10^m,即用科学计数法表示,因为只要前三位,那么接下来就忽略掉后面的位。
对于上式两边同时取lg,k*lgn=lga.bc+m 这里m一定为一个整数,a.bc在科学计数法中小于10,那么lga.bc一定为一个小于00的小数。那么lga.bc为 k*lgn的小数部分,m为k*lgn的整数部分。
然后abc=10^lga.bc×100,即为所求的前三位数。(lga.bc=x,化简就好)
*Codeforces 632D Longest Subsequence
求找一个最长的子序列使他们的元素的最小公倍数<=m,只要长度最大就行,不要求最小公倍数也最大。
思路:我们可以枚举1~m中的每一个数作为最小公倍数,然后数出n个数中多少个数是它的因子,然后取最大就行了,这里要把a[i]的个数记下来。
*Codeforces 628B New Skateboard
技巧:能被4整除的数字,末尾两位一定是4的倍数
*lightoj 1336 - Sigma Function
规律发现,完全平方数x以及2*x的因子和是奇数。(奇数个奇数相加才是奇数,所以必须要有奇数个因子,只有完全平方数的因子数目才是奇数个)。
*CodeForces 659 A. Round House
正向走取余,反向走判断走的步数是否大于长度,大于的话就先减去这一部分,然后假装从n开始走b-a步,然后再对它取余就可以得到答案啦,水题一枚~
*Codeforces 650A Watchmen
首先我们要知道当两点的横纵坐标至少有一个相等时,才会满足|xi-xj|+|yi-yj| == sqrt( (xi-xj)^2 + (yi-yj)^2 ) 。
所以二分找到x相等或者y相等的点有多少个,然后去掉重复的点的个数。