Fork me on GitHub

随笔分类 -  【数学 Math Problems】

摘要:【1】LeetCode 136 Single Number 题意:奇数个数,其中除了一个数只出现一次外,其他数都是成对出现,比如1,2,2,3,3...,求出该单个数。 解法:容易想到异或的性质,两个相同的数异或为0,那么把这串数从头到尾异或起来,最后的数就是要求的那个数。 代码如下: 【2】Lee 阅读全文
posted @ 2016-03-17 19:01 whatbeg 阅读(370) 评论(0) 推荐(0)
摘要:题意:排序二叉树按照数插入的顺序不同会出现不同的结构,现在要在1~m选n个数,使按顺序插入形成的结构与给出的结构相同,有多少种选法。 解法:先将给出的结构插入,构造出一棵排序二叉树,再dfs统计,首先赋ans = C(m,n),从m个数中取n个数,然后将这n个数安排插入顺序,dfs,如果此时节点左右 阅读全文
posted @ 2015-01-18 18:25 whatbeg 阅读(321) 评论(0) 推荐(0)
摘要:题意: 在墙上钉两块木板,问能装多少水。即两条线段所夹的中间开口向上的面积(到短板的水平线截止)解法: 如图:先看是否相交,不相交肯定不行,然后就要求出P与A,B / C,D中谁形成的向量是指向上方的。然后求出y值比较小的,建一条水平线,求出与另一条的交点,然后求面积。要注意的是:这种情况是不能装水... 阅读全文
posted @ 2014-12-13 14:12 whatbeg 阅读(319) 评论(0) 推荐(0)
摘要:题意: 给出两点的经纬度,求两点的球面距离与直线距离之差。解法: 我们先算出球面距离,然后可以根据球面距离算出直线距离。球面距离公式:R*acos(sin(W1)*sin(W2)+cos(W1)*cos(W2)*cos(J1-J2)); ( W1,W2 为两点的纬度值,J1,J2为两点的经度值 )... 阅读全文
posted @ 2014-12-12 20:51 whatbeg 阅读(633) 评论(0) 推荐(0)
摘要:题意: n个数(1~n)取出r个数,取出的数相差要>=k, 然后分成m个可空组,问有多少种情况。 解法: 先看从n个数中取r个相差>=k的数的方法数,可以发现 dp[i][j] = dp[1][j-1] + dp[2][j-1] + ... + dp[i-k][j-1],(dp[i][1] = i) 阅读全文
posted @ 2014-11-16 00:38 whatbeg 阅读(456) 评论(0) 推荐(0)
摘要:官方题解:f(x)=|a∗x3+b∗x2+c∗x+d|, 求最大值。令g(x)=a∗x3+b∗x2+c∗x+d,f(x)的最大值即为g(x)的正最大值,或者是负最小值。a!=0时,g′(x)=3∗a∗x2+2∗b∗x+c 求出g′(x)的根(若存在,x1,x2,由导数的性质知零点处有极值。ans=m... 阅读全文
posted @ 2014-11-16 00:16 whatbeg 阅读(347) 评论(0) 推荐(1)
摘要:题意: 给一个圆盘,圆心为(0,0),半径为Rm, 然后给一个圆形区域,圆心同此圆盘,半径为R(R>Rm),一枚硬币(圆形),圆心为(x,y),半径为r,一定在圆形区域外面,速度向量为(vx,vy),硬币向圆盘撞过去,碰到圆盘后会以相反方向相同速度回来(好像有点违背物理规律啊,但是题目是这样,没办法... 阅读全文
posted @ 2014-11-06 22:58 whatbeg 阅读(287) 评论(0) 推荐(0)
摘要:题意: 给出矩阵M,求M*M矩阵的r行c列的数,每个查询跟前一个查询的结果有关。解法: 观察该矩阵得知,令ans = M*M,则 ans[x][y] = (n-1-x行的每个值)*(n-1+y列的每个值)。直接对每个查询做n次累加(n*m=10^8的复杂度)竟然可以水过。官方题解给的是n^2的算法,... 阅读全文
posted @ 2014-10-26 21:09 whatbeg 阅读(267) 评论(0) 推荐(0)
摘要:题意:给n个‘M'形,问最多能把平面分成多少区域解法:推公式 : f(n) = 4n(4n+1)/2 - 9n + 1 = (8n+1)(n-1)+2前面部分有可能超long long,所以要转化一下,令a = 8n+1, b = n-1,将两个数都化为a1*10^8+b1的形式,则(a1*10^8... 阅读全文
posted @ 2014-09-28 10:42 whatbeg 阅读(207) 评论(0) 推荐(0)
摘要:题意:给一个环,环上有n块,每块有个值,每一次操作是对每个点,他的值变为原来与他距离不超过d的位置的和,问k(10^7)次操作后每块的值。解法:一看就要化为矩阵来做,矩阵很好建立,大白书P157页有讲,大概为:[1 1 0 .. 0 1][1 1 1 .. .. 0]...[1 1 .. .. ..... 阅读全文
posted @ 2014-09-18 21:54 whatbeg 阅读(264) 评论(0) 推荐(0)
摘要:题意:给一个点(x,y),给一些步长delta1,delta2...deltaN,问从(0,0)严格按照步长走完N步后能否正好到达(x,y)点。解法:其实就是判断这些线段和(0,0)-(x,y)这条线段能否构成一个多边(角?)形的问题,只需判断最长的边是否不大于于所有边长和的一半即可。代码:#inc... 阅读全文
posted @ 2014-09-18 09:28 whatbeg 阅读(240) 评论(0) 推荐(0)
摘要:为了补这题,特意学了下模拟退火算法,感觉算法本身不是很难,就是可能降温系数,步长等参数不好设置。具体学习可以参见:http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 我认为讲的很不错,通俗易懂。这题设置一个step为1,降温系数为... 阅读全文
posted @ 2014-09-16 18:51 whatbeg 阅读(740) 评论(0) 推荐(0)
摘要:题意:给出矩阵的第0行(233,2333,23333,...)和第0列a1,a2,...an(n#include #include #include #include #include #define Mod 10000007#define SMod Mod#define lll __int64us... 阅读全文
posted @ 2014-09-14 23:43 whatbeg 阅读(2798) 评论(0) 推荐(10)
摘要:题意:求S(k) = A+A^2+...+A^k.解法:二分即可。if(k为奇) S(k) = S(k-1)+A^kelse S(k) = S(k/2)*(I+A^(k/2))代码:#include #include #include #include #define SMod musing ... 阅读全文
posted @ 2014-09-09 10:02 whatbeg 阅读(261) 评论(0) 推荐(0)
摘要:题意:第i天的天气会一定概率地影响第i+1天的天气,也会一定概率地影响这一天的湿度.概率在表中给出。给出n天的湿度,推测概率最大的这n天的天气。分析:这是引自机器学习中隐马尔科夫模型的入门模型,其实在这里直接DP就可以了定义:dp[i][j]为第i天天气为j(0,1,2分别表示三个天气)的概率,pa... 阅读全文
posted @ 2014-08-12 21:30 whatbeg 阅读(363) 评论(0) 推荐(0)
摘要:题意:给你一串数字,问这串数字符合f[n] = a*f[n-1],f[n] = a*f[n-1]+b*f[n-2],f[n] = a*f[n-1]+b*f[n-2]+c*f[n-3]这几个方程中的哪个,然后要你给出第n+1项,如果符合多个方程,项数小的优先(第一个方程优先)。解法:这题我先处理看是否... 阅读全文
posted @ 2014-08-07 00:00 whatbeg 阅读(321) 评论(0) 推荐(0)
摘要:题意:给一个递推式S(n) = a1*S(n-1)+...+aR*S(n-R),要求S(k)+S(2k)+...+S(nk)的值。分析:看到n的大小和递推式,容易想到矩阵快速幂。但是如何转化呢?首先看到我们用A表示上面的递推式中的R*R的那个矩阵,那么对于前面那个向量,每次乘上A^k之后都会变成(S... 阅读全文
posted @ 2014-08-05 20:54 whatbeg 阅读(293) 评论(0) 推荐(0)
摘要:题意:有n个地方,现在要站人进去,而每两个人之间至少要隔k个空地,问这n个地方能站的人数的期望是多少。分析:考虑dp[i]表示 i 个地方能站的期望数,从左往右推,如果i-k-1=1的话,如果第一个人站在第1个位置,那么右边会空出i-k-1个位置,如果站在2位置,那么右边会空出i-k-2个位置...... 阅读全文
posted @ 2014-07-27 19:32 whatbeg 阅读(200) 评论(0) 推荐(0)
摘要:这题又是容斥原理,最近各种做容斥原理啊。当然,好像题解给的不是容斥原理的方法,而是用到Lucas定理好像。这里只讲容斥的做法。 题意:从n个容器中总共取s朵花出来,问有多少种情况。其中告诉你每个盒子中有多少朵花。 分析:其实就是求方程: x1+x2+...+xn = s 的整数解的个数,方程满足: 阅读全文
posted @ 2014-07-26 20:13 whatbeg 阅读(513) 评论(0) 推荐(0)
摘要:这题被出题人给活活坑了,题目居然理解错了。。哎,不想多说。 题意:给两组数,A组为幸运基数,B组为不幸运的基数,问在[low,high]区间内有多少个数:至少被A组中一个数整除,并且不被B中任意一个数整除。|A|<=15. 分析:看到A长度这么小,以及求区间内满足条件的个数问题,容易想到容斥原理,因 阅读全文
posted @ 2014-07-26 19:36 whatbeg 阅读(332) 评论(0) 推荐(0)