
数学
文章平均质量分 62
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 2551 除法
题意:给出一个数,求能被这个数整除的全部为1的数最小有多少位。原创 2014-07-14 21:26:55 · 365 阅读 · 0 评论 -
poj 3370/2356 鸽巢原理
题意:给定一个数n和包含m个数的数组(保证n思路:根据鸽巢原理,必然能够找出这若干个数,而且是连续的若干个数。可以这样考虑,求出数组的前m项和数组,设为sum[1...m],对每个元素去mod n,那么sum数组的值必然在0...n-1之间。因为n#include #include #include #include #include #include using namesp原创 2015-08-01 19:58:19 · 365 阅读 · 0 评论 -
poj 1045/3299 数学公式推导(欧姆定律/湿度值)
题意:给出公式V2=iR,V2=Vr * cos(wt + q), V1=Vs * cos(wt), i = C * d(v1 - v2)/dt; d是求导数的意思。已知Vs,R,C,w,求Vr。分析:三角的公式忘的差不多了,看了一个题解整理了一下思路。利用V2分别等于两个式子,将i,V2和V1带入,可得方程:R*C*d(Vs * cos(wt) - Vr * cos(wt + q))/d原创 2015-02-20 17:24:42 · 555 阅读 · 0 评论 -
poj 1032 拆分数字使乘积最大
参考:http://www.cnblogs.com/rainydays/archive/2012/12/17/2821428.html题意:给出一个数n,将其拆分为若干个互不相等的数字的和,要求这些数字的乘积最大。分析:我们可以发现任何一个数字,只要能拆分成两个大于1的数字之和,那么这两个数字的乘积一定大于等于原数。也就是说,对于连乘式中,如果将一个乘数a更换为两个数字b×c(a=原创 2015-08-17 10:50:25 · 3020 阅读 · 0 评论 -
poj 1844 数学(1+/- ... k)
题意:给定一个数n,问其由1 2 3 4 .......k中间加上加号或者减号来表示的最小k值。比如12 = -1+2+3+4+5+6-7。思路:一开始直接用类似背包的思路,TLE。实际上,找到第一个k,使得前k项和S≥n,在前面减去(S-n)/2即可。所以对S-n的奇偶性进行分类,如果是偶数,则可以。如果S-n是奇数,那么再看看k是奇数还是偶数,决定了需要再加上一个还是两个数才能使得S-n变原创 2015-08-18 15:37:33 · 340 阅读 · 0 评论 -
poj 2601 公式推导
题意:There is a sequence of n+2 elements a0, a1, ..., an+1 (n <= 3000, -1000 <= ai <=1000). It is known that ai = (ai-1 + ai+1)/2 - ci for each i=1, 2, ..., n.You are given a0, an+1, c1, ... , cn. W原创 2015-11-12 23:36:33 · 477 阅读 · 0 评论 -
poj 2084/3982 java大数(Catalan数)
题意:在圆上有2n个点,将这些点成对连接起来使得所得到的n条线段不相交的方法数?思路:设原始问题方法数有h(n)。固定一个点开始顺时针连接,首先连在相邻结点,一侧为h(0),另一侧h(n-1)。如果中间隔两个点(注意不可能隔一个点,否则那一个点没有地方可以连),那么方法数为h(1)+h(n-1)。。。如此这般,正是卡特兰数的递推式子。于是由卡特兰数h(n)=C(n,2n)/(1+n)可得结原创 2015-10-29 08:54:03 · 410 阅读 · 0 评论 -
poj 1067 威佐夫博弈
题意:有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。思路:结论是两数之差绝对值乘以黄金分割,对结果下取整如果等于较小数,则先手必败。(证明见:ht原创 2015-02-13 22:24:19 · 429 阅读 · 0 评论 -
poj 3286 给定区间内0出现的次数
题意:给定一个区间[n,m],求这个区间内的整数中数字0出现的次数。如[10,21]为2,0在10和20中各出现一次。思路:考虑每位上面0的个数。分类为这位为0或者不为0(如果是统计别的数字比如5出现的次数,那么还要考虑小于5的情况。leetcode上面有相应的问题)。#include #include using namespace std;long long n,m;long原创 2016-05-24 10:58:35 · 340 阅读 · 0 评论 -
n个数的和为n个数的公倍数
题意(http://poj.openjudge.cn/practice/C16D/):输入一个n(n思路:首先容易知道,当n=2的时候无解(两个1不算,因为要求这n个数是不同的)。n大于2的时候这样构造n个数(1 , 2*3^0 , 2*3^1 , 2*3^2 ... 2*3^(n-3) , 3^(n-2))。可以看到,这n个数的和为2*3^(n-2),为每个数的整倍数。这样一来,只需要构造3原创 2016-05-11 21:40:26 · 372 阅读 · 0 评论 -
poj 1852 脑洞大开(Ants)
题意:有一个一维的数轴,给定其长度len(数轴范围为[0,len])和上面的蚂蚁数n。接下来给出n只蚂蚁的坐标,都位于整数点之上。蚂蚁的移动速度为1,两只蚂蚁迎面相遇立即朝相反方向运动。假设蚂蚁的初始方向未知,问所有蚂蚁掉落数轴的最小和最大时间。思路:最小时间比较显然,就是所有蚂蚁不碰撞,即偏左的蚂蚁向左走,偏右的蚂蚁向右走(这样想,一旦出现蚂蚁相遇,那么这两只蚂蚁掉落走过的距离之和=len,原创 2015-08-26 08:57:09 · 447 阅读 · 0 评论 -
poj 2242 数学(给三点求外接圆周长)
题意:给定不共线的三点坐标,求其外接圆的周长。思路:通过坐标可以求出三点围成三角形的面积S。根据正弦定理有a/sinA = 2*R,根据面积公式有S = (bcsinA)/2。消去sinA可得关于R的等式,进而可求周长。#include #include #include #include #include #include using namespace std;#defi原创 2015-08-25 21:30:36 · 687 阅读 · 0 评论 -
poj 2249/1942 求组合数
题意:2249就是纯粹求组合数。1942说有一个n*m的方格,问从左下走到右上(只能向右或者向上走)有多少种走法。思路:对于1942来说,就是C(n+m,n),相当于有一个n+m长的序列,选出n个位置向右走,剩下的必然就是向上走。这两道题开long long即可。计算的时候注意除的时候从小到大(即从1到n),这样可以保证每次都是整除。比如求C(n,m),第一步n/1,第二步n*(n-1)/原创 2015-08-26 09:18:08 · 359 阅读 · 0 评论 -
poj 2413 大数模拟(区间内的斐波那契数个数)
题意:给定两个数a思路:数组模拟枚举出100位以内的斐波那契数,然后写一个比较函数进行比较即可。其中一个地方让我wa了n次:temp = f[i-2][j]+f[i-1][j]+f[i][j];写成了temp = f[i-2][j]+f[i-1][j];快哭了~~~#include #include #define N 155int f[1000][N];char a[N],b[N原创 2015-02-10 12:58:20 · 565 阅读 · 0 评论 -
poj 3233 矩阵快速幂
题意:给定一个n*n矩阵A,一个常数k和另一个常数m,求S = A + A^2 + A^3 + … + A^k。思路:构造新矩阵T={A I },则T^k={A^K I+A+A^2+A^3+...+A^(K-1)} I I 0 I显然只要原创 2015-03-09 21:11:01 · 333 阅读 · 0 评论 -
poj 1569 三角形求面积(形内不包含其他点的最大三角形面积)
题意:平面上有一些点(很少),求以这些点为顶点的三角形中,内部无其他点的面积最大的三角形是哪个思路:枚举三角形三个顶点,用叉积判断其他点是否在三角形内原创 2014-07-28 19:19:34 · 523 阅读 · 0 评论 -
poj 1423 stirling公式(阶乘的位数)
题意:给定一个数(小于10^7),求这个数阶乘的位数。思路:首先原创 2014-08-05 17:19:48 · 589 阅读 · 0 评论 -
poj 2409 polya计数
题意:给定一串由n个珠子组成的项链,用c种颜色涂染,问能形成多少种不同项链。思路:Burnside算法。分析:1.旋转.考虑顺时针旋转i格的置换:循环个数为gcd(n,i)每个循环的长度为L=n/gcd(n,i)2.翻转考虑对称轴***n为奇数. 只有一种对称轴, 即轴穿过一个点. 有[n/2]个循环长度为2, 还有一个循环长度为1(被穿原创 2015-01-20 17:29:46 · 378 阅读 · 0 评论 -
poj 1995 快速幂取模
题意:给定A1.。(A1^B1+A2^B2+ ... +AH^BH)mod M。原创 2014-07-09 17:15:34 · 462 阅读 · 0 评论 -
poj 1455 循环逆序数
题意:n个数循环排列,每次原创 2014-08-22 21:15:57 · 605 阅读 · 0 评论 -
poj 1989 数学(求一个序列的最短非子序列长)
题意:给定一个序列,求其最短非子序列的长度。分析:我们把序列划分为若干个区间,每个区间都包含(1~k)这些数字。我们使划分的区间尽量多,方法就是从左到右一旦满足了包含所有字符,则立即停止该区间,从下一位开始一个新的区间。答案就是划分的区间数+1。简单证明一下:对于一个有x个区间的序列,一定包含了所有长度为x的序列。因为,对于任意一个长度为x的序列,只需要依次在x个区间中取出其对应位的元原创 2015-08-07 20:24:42 · 1129 阅读 · 0 评论 -
poj 1183 数学推导(反正切函数的应用)
题意:根据角度和的正切函数公式tan(a+b)=[tan(a)+tan(b)]/[1-tan(a)*tan(b)] 公式,通过简单的变换得到: arctan(p)+arctan(q)=arctan[(p+q)/(1-pq)] 公式(4)如令p=1/2,q=1/3,则(p+q)/(1-pq)=1,有 arctan(1/2)+arctan(1/3)=arctan[(1/2+1/3)/(1-1/原创 2015-08-24 15:21:37 · 764 阅读 · 0 评论 -
poj 3579 二分
题意:给定n个数,可知如果求每两个数之差的绝对值,那么会得到C(n,2)个值(可能有重复)。现在要求这C(n,2)个值的中位数(如果是偶数个,那么求下中位数)。思路:二分。首先排序,然后二分答案,对于枚举的答案值,二分求出差的绝对值大于这个答案值的个数。如果个数过多了,那么说明枚举的答案太小了,应该加大,否则应该减小。时间复杂度,O(n*logn*INTMAX)#include #inc原创 2016-06-05 21:12:33 · 655 阅读 · 0 评论