上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 分析:记dp[n][k]为n个数,逆序数为k的个数,将dp[n][k]分为两部分,一部分有1~n-1的逆序构成,一类是有n的逆序,可以得到dp[n+1][k+1]=(max(0,k+1-n),min(k+1,n*(n-1)/2)∑dp[n][i],再用dp[n+1][k+1]与dp[n+1][k]做 阅读全文
posted @ 2017-06-18 12:22 7391_KID 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 分析:用Miller-Rabin算法,预处理一些质数,取一个质数x,若n为质数,必然有x^(n-1)=1modn,但是反之不一定,若通过了前面的检验,将n-1分解为2^d*r,r为奇数,接下来检验x^(d-1)*r mod n,以此类推除二检验,直到mod的结果为-1或不能被二整除,若其中出现mod 阅读全文
posted @ 2017-06-01 17:55 7391_KID 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 为了方便写,加了个符号变量neg...重载了各种比较符号,支持加减乘除取模以及模快速幂...快速幂不知道怎么用位运算,效率会偏低.. 阅读全文
posted @ 2017-06-01 17:42 7391_KID 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 分析:先写出前几项,发现都是有解的.记(1+√2)^n=a+b√2,可以归纳证明,当n为奇数时,m=a^2+1,n为偶数时,m=a^2.写出a的递推式,用矩阵快速幂算一下a即可. 阅读全文
posted @ 2017-05-27 22:13 7391_KID 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题解: 分析:- - 完全是看着题解还想半天才会做的。。纠正一个错误,题解中的F(n)和S(n)中都应该是取整而不是下取整.首先S(n)的式子不难想到,问题就在于数据范围太大,强求会T掉.换一下求和顺序,枚举i/d,再枚举d,就可以将原式变形成一个对F(n)求和的式子,然后从1到n中,F(i)有重复 阅读全文
posted @ 2017-05-27 13:02 7391_KID 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 分析:考虑从1到n所有数的质因数分解,记录每个质数的最高次数,同理从n+1循环到2n,如果循环到m时每个质因子的次数都不低于所记录的,则跳出循环,结果即为m。先预处理质数,复杂度为O(nlongn)。 阅读全文
posted @ 2017-05-26 17:15 7391_KID 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: 分析: - -! 找规律。。。首先可以归纳证明,对于n,最佳的取法是先取不大于n的最大的那个斐波那契数,然后递推.从而可以得到算出F(n)的一个方法,但是n的范围太大了,先算出n较小的情况,会发现: 第三列为F(n),第二列为G(n),可以看出第k块是由k-1块和k-2块+1合在一起得到的,从而可以 阅读全文
posted @ 2017-05-25 13:45 7391_KID 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=528&page=show_problem&problem=3916 题目大意:给定一个h*w的矩阵,每格是草地(#) 阅读全文
posted @ 2017-05-19 21:06 7391_KID 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意:一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数。(2 <= N <= 50000,0 < A[i] <= 10^9) 分析:在modN意义下求A的前缀和, 阅读全文
posted @ 2017-05-19 13:06 7391_KID 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=569&problem=4277&mosmsg=Submission+receiv 阅读全文
posted @ 2017-05-19 12:01 7391_KID 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页