摘要: 本题题意:给出一个数n(只可能分解为2,3,5,7的素因子),求出其因子数。 代码如下: 根据一个数的因子数是其每个素数因子的数量加上1然后相乘,由于该数只有4个素因子,直接统计每个素因子出现的个数就出来了(没有出现过的要记1)。 阅读全文
posted @ 2017-09-13 15:03 mtl6906 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 本题题意:给一个数n,求出其因子和(包括1但不包括自身)。 代码如下: 这道题直接暴力枚举因子会超时,先枚举素数再判断可以降到500ms左右,然后。。。。又是这个神一般的倍数打表法。。最佳优化大概是124ms(评论区那个73ms的估计是人多的时候挤出来的,汗~)。 阅读全文
posted @ 2017-09-13 14:59 mtl6906 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 本题题意:给出一个数,求出其最大素数因子在素数中的位置. 代码如下: 这个代码感觉太神奇了,我自己写的一个就TLE了,上面这个代码的思路是先铺满2的倍数再铺满3的倍数,5的倍数依次。。然后最后得到的每个位置上就是最大因子的序号了。 阅读全文
posted @ 2017-09-12 20:19 mtl6906 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 本题题意:农夫和奶牛分别在数轴的两个点上,农夫可进行三种操作,将位置变为X+1,X-1,X*2,问最少几次操作后农夫能找到奶牛。 代码如下: 这道题挺简单的,bfs搜索+dp优化。 阅读全文
posted @ 2017-09-06 19:55 mtl6906 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 本题题意:给出一个三维迷宫,要求找出从起点到终点的最短路径。 代码如下: 这道题就是一个简单的最短路径搜索,只不过三维的话,方向就从4个变为了6个,最短路径毫无疑问就是bfs了,然后dp优化一下,时间复杂度就比较可观了。 攒板子很重要。。。 阅读全文
posted @ 2017-09-06 19:19 mtl6906 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 打铁了。。。 就差一题。。。 比赛结束的那一瞬间,三个人的心一下子跌到了谷底。。 本来这场比赛,手速3题就能拿奖。。。 无奈,第一题pow失精,连续wa了10次。。 当时,整个人都要崩溃了。。。 好在犬神后来连A两题,让我们又看到了一丝希望。。 最后A题出来了,还剩一个小时,犬神卡在D题过不去了。 阅读全文
posted @ 2017-08-29 07:50 mtl6906 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 进入排序专题了。 这次我们要讲的是堆排序,而说到堆排序,肯定就免不了要了解一下堆这个数据结构((我们这里说的都是二叉堆)。 什么是堆呢? 堆就是一个完全二叉树,而完全二叉树。。。就是除了最后一层可以不满外(也可以满),其他层都是满的,并且最后一层的叶子节点都位于最左端的二叉树。 上图就是一个标准的完 阅读全文
posted @ 2017-08-22 19:32 mtl6906 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 本题题意:依次给出3个点P1,P2,P3,其中P2,P3是抛物线与直线的交点,P1是抛物线的顶点,求抛物线与直线的面积。 代码如下: 感觉又写了个垃圾代码.... 不过还是学到了点东西,这个最重要... 求抛物线方程用的是拉格朗日插值法,通过三点确定一个一元二次方程... 直线面积直接用梯形公式求了 阅读全文
posted @ 2017-08-21 15:49 mtl6906 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 本题题意:给出一个整数n,求出小于n的所有和n互素的数的数目。 代码如下: 这题真的学到了不少东西,首先是Euler函数(暴力超时,Euler 0ms). 什么叫Euler函数呢? Euler函数的作用是用来求小于n的所有和n互素的数的数目(没错,本题就是一个裸的Euler函数)。 各种数学证明我就 阅读全文
posted @ 2017-08-20 22:26 mtl6906 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 本题题意:给出最大公约数和其中一个数,求另一个最小的数与该数的最大公约数等于给出的数. 这题开始想偏了,后来还是直接暴力过了,汗~。 从2开始枚举除了数a外的所有数,直到找到第一个最大公约数为b的。 阅读全文
posted @ 2017-08-20 14:04 mtl6906 阅读(107) 评论(0) 推荐(0) 编辑