ACM_数论
文章平均质量分 78
京城一十三
你在凝视深渊的时候 深渊也在凝视着你
展开
-
hdu4282 x^z+y^z+x*y*z=k 解的个数
题意: x^z + y^z + x*y*z = k; (x 1),给你一个k问有多少组解.思路: 暴力枚举z,y,然后二分查找x.注意一点最好用快速幂,别用pow,不然有可能会超时,如果先把z=2的处理了会快一点.应该会0ms.....#include__int64 quickp(__int64 a,__int64 n){ __i原创 2014-03-18 21:03:01 · 965 阅读 · 0 评论 -
hdu3117 斐波那契前后4位
题意: 求斐波那契的前后4位,n 思路: 至于前四位,和hdu1568的求法一样: http://blog.csdn.net/u013761036/article/details/38726907后四位也很好求,后四位我们可以用矩阵+快速幂去求,斐波那契的矩阵很好推x0 x1 * 0 1 = x1 x2 1 1原创 2014-08-21 11:01:25 · 632 阅读 · 0 评论 -
hdu4965 巧用矩阵乘法结合律
题意: 给两个矩阵,n*m的矩阵A,和m*n的矩阵B,求(A*B)^(n*n)其中 m思路: 一开始直接模拟,写了个矩阵快速幂,超时了,因为A*B后得到的是1000*1000的矩阵,做乘法直接超时了,后来写了个这样的 (A*B)^(n*n) = (A*B)*(A*B)*(A*B)... = A * (B*A)*(B*A)*(B*A)原创 2014-08-21 14:40:27 · 657 阅读 · 0 评论 -
hdu2371 矩阵乘法(求序列位置改变m次后的序列)
的变到2的位置,2的变到3,就这样一直变换m次,最后给你一个变换完之后的,让你求原始的(原题这个地方没有叙述的很清楚)。思路: 首先这种位置映射,或者是变换的很多都可以根据矩阵乘法来解决,这个题目的是个很简单的应用,比如我们要把1 2 3 4 5映射到 2 3 1 5 4的位置:0 1 0 0 0 10 0 1 0 0原创 2014-08-11 15:54:26 · 564 阅读 · 0 评论 -
hdu2604 矩阵快速幂
题意: 给你n个人,排成一个长度是n的队伍,人只有两类f,m,问可以有多少种排法使度列中不出现fff,fmf这样的子串。思路: 一开始暴力,结果超时了,其实这个题目要是能找到类似于斐波那契那样的公式,就可以瞬间用矩阵乘法+快速幂秒掉大数据,现在我们来找公式,我们现在来讨论当前队列的最后一个字母,如果是m那么之前的所有+m都不会冲突,所以有f(n-1)个,如果是f原创 2014-08-15 10:43:23 · 597 阅读 · 0 评论 -
hdu 5020 求三点共线的组合数(容器记录斜率出现次数)
题意: 给你n个点,问你3点共线的组合数有多少,就是有多少种组合是满足3点共线的。思路: 一开始抱着试1试的态度,暴力了一个O(n^3),结果一如既往的超时了,然后又在刚刚超时的代码上直接加了一个优化,就是如果当前斜率出现的次数小于2次,那么第三重for就不用在跑了,结果,呵呵,又超时了,然后又尝试了一个方法,就是枚举每一个点,求出所原创 2014-09-24 16:29:47 · 858 阅读 · 0 评论 -
hdu4998 旋转坐标系
题意: 一开始的时候有一个坐标系(正常的),然后有n个操作,每个操作是 x y d,意思是当前坐标系围绕x,y点逆时针旋转d度,最后让你输出三个数x y d,把这n个操作的最后结果,用一步等效过来,就是找到一个点,逆时针旋转一个度数,等于当前的这个状态。思路: 我们可以用一个向量来代表当前坐标系,每次操作把当前向量拆成两个点单独操作,假如当前向量a,b,绕点c旋原创 2014-09-15 18:48:51 · 514 阅读 · 0 评论 -
hdu 5019 第k大公约数
题意: 给你两个数,让你求他们的第k大公约数。思路: 这个比较好想,我的做法是先求出最大公约数,他们的公共因子一定是最大公约数的因子,所以直接log(gcd(A,B))的时间复杂度就枚举出来了,这个题目的最小(也许别人会更快)的时间复杂度应该是log(gcd(A ,B)) ,就是枚举的时候所用的时间,我为了偷懒,枚举的时候原创 2014-09-24 15:27:09 · 916 阅读 · 0 评论 -
POJ2118基础矩阵快速幂
题意: an=Σ1= k,题意看了好久才懂,有点蛋疼啊,这个题目要是能看懂题意就简单了,先给你k,然后给你a0 a1 a2 a3 ..ak-1.然后给你b1 b2 b3 b4 ..bk,然后给你一个i,让你输出ai的值,如果i an=Σ1= k比如k=3那么 a3 = a2*b1 + a1*b2 + a0*b3 a4 = a3*b1 + a2原创 2015-04-05 15:18:50 · 751 阅读 · 1 评论 -
POJ3233不错的矩阵(矩阵套矩阵)
题意: 给一个n*n的矩阵A,然后求S=A + A^2 + A^3 + ..+ A^k.思路: 矩阵快速幂,这个题目挺新颖的,以往的矩阵快速幂都是退出公式,然后构造矩阵,这个比较特别,直接上子矩阵吧A 1 平方后得到 A^2 1+A 三次方 A^3 1+A+A^20 1 0 1原创 2015-04-05 15:28:11 · 1296 阅读 · 0 评论 -
hdu1568斐波那契前4位
题意: 就是求斐波那契数,但是只要求输出前四位,(n思路: 这个要用到斐波那契的公式和一些log的规律,直接打看着很乱,直接在网上偷张图片吧:然后就是一些log的性质log10(a^b) = b * log10(a),log10(a*b) = log10(a) + log10(b)我们可以根据这个把大数的前几位拿出来,这样:log10(123456789原创 2014-08-21 11:00:14 · 642 阅读 · 0 评论 -
hdu 1431 素数回文
题意: 求区间回文素数,题意中文的不解释。思路: 对于一个偶数位的回文数,必定是11的倍数,所以直接枚举奇数位,可以枚举 1位 3位 5位 7位 还有别忘记11这个数,最大的数是9989899所以不用9位,1 - 100000000里面一共有781个满足要求的数 ,这样打个素数表暴力就行了时间是578ms,如果不知道什么偶数位是11的倍数照样可以AC,而且感觉原创 2014-06-17 11:12:03 · 604 阅读 · 0 评论 -
hdu4869 费马小+快速幂
思路:费马小+快速幂 无论怎么翻,每一步的1出现的可能个数的奇偶性是一样的,因为奇数 - 偶数 = 奇数,偶数 - 偶数 = 偶数,有一张牌被重叠了,那么就减去一个偶数2,所以怎么重叠都不会变(当前奇偶性与当前总翻牌数奇偶性一样),所以我们只要找到1的最大可能数,和最小可能数(当然最大和最小奇偶性一定相同),然后排列组合求和就行了,假如一共有10张原创 2014-07-24 15:44:01 · 482 阅读 · 0 评论 -
hdu4720 三角形的外接圆
题意: 给你四个点,问你第四个点是否在前三个点围成的三角形的外接圆上.思路: 水题,就是练练用魔板罢了,当该三角形是锐角三角形的时候,圆心是任意两条边中垂线的交点,半径是圆心到任意一点的距离,否则圆心就是最长的那条边的中点位置,半径就是最长的那条边的一半..原创 2014-04-30 21:34:15 · 592 阅读 · 0 评论 -
hdu4503 概率
题意: 湫湫系列故事——植树节 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)原创 2014-03-30 10:24:51 · 478 阅读 · 0 评论 -
hdu4278 小想法
hdu4278原创 2014-03-18 15:24:04 · 749 阅读 · 0 评论 -
hdu4535
题意: 吉哥系列故事——礼尚往来Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 908 Accepted Submission(s): 481Problem Description 吉哥还是那个吉原创 2014-03-30 10:48:47 · 431 阅读 · 0 评论 -
hdu4279 找规律+小想法
题意: 蛋疼的题意,最后是泽神给我讲的题意,题意是对于一个数来说,如果他不能整除另一个数同时他和另一个数非互质,那么另一个数就是这个数的特别数,如10 的特别数有 4 6 8三个,同时题目还定义,有奇数个特别数的数是真数,现在给你一个范围,问你有多少个数字是真数.思路: 先打表,看下真实数的规律,假如当前数字是a,真实数其实就是6 到 a之间偶数的个数 + 奇原创 2014-03-19 19:24:46 · 501 阅读 · 0 评论 -
hdu2438 三分
题意: 给你个90度的转弯,和一辆标准矩形的车,问你这台车能不能拐过去..思路: 求出靠近最里侧的那条边所在的直线(这个图形右下角为坐标原点) y = x * tan(du) + l * sin(du) + d / cos(du); 那么我们现在固定y = 题目中的那个 X则,根据(du)的不同,我们可以找到不同的x,只要-x或者x的绝对原创 2014-04-27 15:19:12 · 757 阅读 · 0 评论 -
hdu3714 水三分
题意: 给你一些函数 y = ax^2 + bx + c,的a >= 0 的二次函数,x的范围是0--1000,问你在这个范围内函数值最大的最小是多少,最大指的是对于某一个x最大的那个y,最小指的是全体的x范围中最大的那个最小..思路: 因为a>=0 所以都是开口向上的,如果话F(n) 的 xy( x原创 2014-04-27 15:37:13 · 965 阅读 · 0 评论 -
hdu4454 三分 求点到圆,然后在到矩形的最短路
题意: 求点到圆,然后在到矩形的最短路.思路: 把圆切成两半,然后对于每一半这个答案都是凸性的,最后输出两半中小的那个就行了,其中有一点,就是求点到矩形的距离,点到矩形的距离就是点到矩形四条边距离中最小的哪一个,求的方法有很多,一开始想都没想直接敲了个三分(这样就是两重三分了)跑了890ms AC的,后来看了看人家的都是直接用模板过的,我也找了个模板,结原创 2014-04-27 15:43:01 · 511 阅读 · 0 评论 -
hdu4810 <Cn中取i异或和>
题意: 给你n个数,让你输出n个数,没一次输出的是在这n个数里面取i个数异或的和(所有情况)。思路: 首先把所有的数都拆成二进制,然后把他们在某一位上的数字加起来,比如 3 = 11 5 = 101 他俩合并就是 112 就这样吧所有的数都合并了,一共最多32位,然后我们考虑,对于每一位,只有选择奇数个1的时候才会是1,否则就是0 ,所以原创 2014-06-13 09:45:49 · 1018 阅读 · 0 评论 -
POJ3070矩阵快速幂简单题
题意: 求斐波那契后四位,n 思路: 简单矩阵快速幂,好久没刷矩阵题了,先找个最简单的练练手,总结下矩阵推理过程,其实比较简单,关键是能把问题转换成矩阵的题目,也就是转换成简单加减地推式,下面说下怎么样根据递推式构造矩阵把,这个不难,我的习惯是在中间插矩阵,就是比如斐波那契a[n] = a[n-1] + a[n-2];我的习惯是这样,首先要知道这个原创 2015-04-05 15:25:47 · 478 阅读 · 0 评论