![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 79
glq007
muyou
展开
-
poj 1995 Raising Modulo Numbers 快速幂取模
此题乃是大水题,就当为了凑个文章数。核心是求a^b%c。死办法肯定越界,就算是每一次乘个a然后在%c也要b次,所以用二分法,把b用二进制来表示,然后就只需要log(n)次了。看懂很容易,知道了,下次就肯定会用了。AC代码#include#include#include#include#include#includeusing namespace std;int cal原创 2014-03-31 21:48:14 · 1047 阅读 · 0 评论 -
CodeForces - 548C Mike and Frog(扩展欧几里德)
题意:给出h1,变换成下一个是x1*h1+y1模m,目的要得到a1,h2同理,2个数字是同时变换的,问同时得到a1和a2的最近时间,得不到输出-1。做法:我们可以暴力找出a1第一次出现的位置l1,以及a2第一次出现的位置l2,因为m不超过10^6,所以循环节的长度不会超过10^6,然后再找出第二个a1出现的位置,以及第二个a2出现的位置,那么循环节的长度分别是w1,和w2。可能会出现w1和w2原创 2015-05-27 23:42:23 · 730 阅读 · 0 评论 -
CodeForces 24D Broken robot(三对角矩阵)
题意:给你一个n×m的矩阵,以及起点i,j,问你走到最后一行的步数期望,可以向下左右(当然不能跃出矩阵)或者在当前位置不动,也算一步。解法:其实这题我们能很快写出递推式。最后一行的每个期望都为0,我们靠这个往上推。例如当m等于6时。 x1 x2 x3 x4 x5 x6y1 y2 y3 y4 y5 y6对于x1来说,x1 = 1/3x1+1/3x2+1/3y1+1。对于x2到x5来说原创 2015-04-05 23:41:46 · 1145 阅读 · 0 评论 -
FZU 1775 Counting Binary Trees(卡特兰数前n项和模m)
题意:设T(n)为n原创 2014-11-03 12:13:02 · 1383 阅读 · 0 评论 -
POJ 3370 Halloween treats(抽屉原理)
题意是给c数原创 2014-10-28 16:39:23 · 1237 阅读 · 0 评论 -
hdu 5050 Divided Land(高精度)
唉。。当时板子找不到了,然后从网上找了个板子。。。结果板子有错。。减法的一个地方原创 2014-09-29 11:57:07 · 857 阅读 · 0 评论 -
HOJ 12899 A+B Bucharest, Romania 2013
这题题意灰常简单。解法:可知需要用扩展o原创 2014-08-17 10:14:14 · 828 阅读 · 0 评论 -
HDU 4937 Lucky Number
题意很清楚就是给你一个数你要把它变进制然后变成只含有3456的数字,wen原创 2014-08-13 21:50:06 · 703 阅读 · 0 评论 -
HDU 4927 Series 1 (大数高精度)
题意就不说了。推几步就可以看出是一个杨辉三角原创 2014-08-08 19:47:44 · 663 阅读 · 0 评论 -
HDU 3826 Squarefree number (求因子里没有平方数的数)
此题初看很头疼10^18次方的数,原创 2014-05-20 00:52:18 · 1627 阅读 · 1 评论 -
poj 1061 青蛙的约会(扩展欧几里德)
很早就听说过此道经典题目,当时看了没有思路就没去学,刚发了篇日志学了原创 2014-05-22 01:00:14 · 703 阅读 · 0 评论 -
Modified LCS (扩展欧几里德)细写了对这个算法思路的理解
题目:Modified LCS为过此题去仔细研究了下扩展欧几里德算法,领悟了一些精华。模板为:void gcd(ll a, ll b, ll& d, ll& x, ll& y) { if(!b) {d = a; x = 1; y = 0;} else{ gcd(b, a%b, d, y, x); y -= x*(a/b);} } 这里算出来的x,y是对于方原创 2014-05-22 00:32:22 · 1427 阅读 · 0 评论 -
uva 10341 - Solve It(二分查找水题)
先对方程求一次导,然后再看系数-20 q,s,t <= 0原创 2014-05-20 15:21:24 · 1166 阅读 · 0 评论 -
hdu 5226 Tom and matrix(Lucas定理)
题意:矩阵第i行第j列代表c(i,j),给出行和列范围,求那个矩形中的和。做法:由c(i+1,j+1) = c(i,j)+c(i,j+1)可得,这行是上一行乘2加上上行的第一个前一个,再减去最后一个(写下来就懂)。然后由于要取模,我们必须用到Lucas定理,因为如果不用,直接计算,如果n和m过大,会出现分母分子同时模p都为0的情况,但是其实由于分母和分子可以约分,答案并不为0。Lucas定原创 2015-06-01 15:01:20 · 952 阅读 · 0 评论