随笔分类 -  数学

摘要:题意:有n个点围成一圈,这n个点的匹配就是没有公共点的边集(这些边只能连接一圈中相邻的两点),求所有匹配的个数。额,我不会分析。。=_=||算了几个数,找找规律发现它满足斐波那契数列的递推关系,f(n) = f(n-1) + f(n-2)自从会用了Java的BigInteger,就懒得写C的高精度了... 阅读全文
posted @ 2015-02-12 23:11 AOQNRMGYXLMV 阅读(304) 评论(0) 推荐(0)
摘要:题意:有两种汉堡给2n个孩子吃,每个孩子在吃之前要抛硬币决定吃哪一种汉堡。如果只剩一种汉堡,就不用抛硬币了。求最后两个孩子吃到同一种汉堡的概率。分析:可以从反面思考,求最后两个孩子吃到不同汉堡的概率。因为最后两个汉堡是不同的,所以前面的2n-2个孩子吃汉堡之前一定都是要抛硬币的。所以,吃两种汉堡的孩... 阅读全文
posted @ 2015-02-12 19:20 AOQNRMGYXLMV 阅读(362) 评论(0) 推荐(0)
摘要:题意:long long H(int n){ long long res = 0; for( int i = 1; i 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int T; 8 long long n; ... 阅读全文
posted @ 2015-02-12 17:56 AOQNRMGYXLMV 阅读(265) 评论(0) 推荐(0)
摘要:A. Fox And Snake代码可能有点挫,但能够快速A掉就够了。 1 #include 2 3 int main() 4 { 5 //freopen("in.txt", "r", stdin); 6 7 int n, m; 8 scanf("%d%d", &n, ... 阅读全文
posted @ 2015-02-03 04:27 AOQNRMGYXLMV 阅读(265) 评论(0) 推荐(0)
摘要:题意:给出一个矩阵表达式,计算总的乘法次数。分析:基本的数学知识:一个m×n的矩阵A和n×s的矩阵B,计算AB的乘法次数为m×n×s。只有A的列数和B的行数相等时,两个矩阵才能进行乘法运算。表达式的处理:可以用一个栈来存储,遇到字母入栈,遇到右括号将栈顶两个元素出栈,然后将乘积入栈。 1 #incl... 阅读全文
posted @ 2015-01-26 20:49 AOQNRMGYXLMV 阅读(212) 评论(0) 推荐(0)
摘要:A. Amr and Music (贪心)水题,没能秒切,略尴尬。 1 #include 2 #include 3 using namespace std; 4 5 const int maxn = 100 +10; 6 int a[maxn], r[maxn], ans[maxn]; 7 ... 阅读全文
posted @ 2015-01-26 02:04 AOQNRMGYXLMV 阅读(158) 评论(0) 推荐(0)
摘要:题意:求区间[L, U]的正因数的个数。分析:有这样一条公式,将n分解为,则n的正因数的个数为事先打好素数表,按照上面的公式统计出最大值即可。 1 #include 2 #include 3 4 const int maxn = 31700; 5 bool vis[maxn + 10]; 6 ... 阅读全文
posted @ 2015-01-07 10:45 AOQNRMGYXLMV 阅读(445) 评论(0) 推荐(0)
摘要:题意:对于32位有符号整数x,将其写成x = bp的形式,求p可能的最大值。分析:将x分解质因数,然后求所有指数的gcd即可。对于负数还要再处理一下,负数求得的p必须是奇数才行。 1 #include 2 #include 3 4 const int maxn = 46500; 5 bool ... 阅读全文
posted @ 2015-01-07 09:42 AOQNRMGYXLMV 阅读(381) 评论(0) 推荐(0)
摘要:题意:求正整数L和U之间有多少个整数x满足形如x=pk 这种形式,其中p为素数,k>1分析:首先筛出1e6内的素数,枚举每个素数求出1e12内所有满足条件的数,然后排序。对于L和U,二分查找出小于U和L的最大数的下标,作差即可得到答案。 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2015-01-06 19:48 AOQNRMGYXLMV 阅读(404) 评论(0) 推荐(0)
摘要:题意:给出n,求把n写成若干个连续素数之和的方案数。分析:这道题非常类似大白书P48的例21,上面详细讲了如何从一个O(n3)的算法优化到O(n2)再到O(nlogn),最后到O(n)的神一般的优化。首先筛出10000以内的素数,放到一个数组中,然后求出素数的前缀和B。这样第i个素数一直累加到第j个... 阅读全文
posted @ 2015-01-05 23:34 AOQNRMGYXLMV 阅读(521) 评论(0) 推荐(0)
摘要:题意:给出一个整数n,如果n是素数输出0,否则输出它后一个素数与前一个素数的差值。分析:首先用筛法把前十万个素数都筛出来,然后放到数组里。用二分找到不大于n的最大的素数的下标,如果这个素数等于n,则直接输出0,否则输出它后一个素数与它本身的差值。 1 #include 2 #include 3 ... 阅读全文
posted @ 2015-01-05 19:24 AOQNRMGYXLMV 阅读(679) 评论(0) 推荐(0)
摘要:题意:如图,按照图中的规律给这些格子编号。给出两个格子的编号,求从一个格子到另一个格子的最少步数。(一步只能穿过有有公共边的格子)分析:根据高中数学知识,选任意两个不共线的向量,就能表示平面上所有点。像这样建立坐标系,根据图中的规律算出所有点的坐标。推理也好,找找规律也好,不难发现第一、三象限的点(... 阅读全文
posted @ 2015-01-04 23:39 AOQNRMGYXLMV 阅读(881) 评论(0) 推荐(0)
摘要:题意:45块石头如图排列,每块石头上的数等于下面支撑它的两数之和,求其余未表示的数。分析:首先来计算最下面一行的数,A71 = A81 + A82 = A91 + 2A92 + A93,变形得到A92 =(A71 - A91 - A93) / 2.以此类推,就能得到最下面一整行的数。有了这个“地基”... 阅读全文
posted @ 2015-01-04 10:35 AOQNRMGYXLMV 阅读(493) 评论(0) 推荐(0)
摘要:题意:给出一个数列,求一个连续的子序列,使得MGCD(i, j) = 该子序列的长度(j-i+1) × 子序列的gcd 最大,并输出这个最大值。分析:感觉可能要用优先队列,但貌似也用不上。但类似地,从左往右枚举右端点,不难发现随着序列长度的增大,其子序列的最大公约数是非递增的。一般情况下,是呈阶梯状... 阅读全文
posted @ 2015-01-04 00:36 AOQNRMGYXLMV 阅读(353) 评论(0) 推荐(0)
摘要:题意:给出一个n行m列的点阵,求共有多少条非水平非竖直线至少经过其中两点。分析:首先说紫书上的思路,编程较简单且容易理解。由于对称性,所以只统计“\”这种线型的,最后乘2即是答案。枚举斜线包围盒的大小,如果盒子的长宽ab互质,则是可以的。这种盒子共有(m-a)(n-b)个,但要减去其中重复的。如果有... 阅读全文
posted @ 2015-01-03 16:49 AOQNRMGYXLMV 阅读(431) 评论(0) 推荐(0)
摘要:题意:这道题和POJ 3090很相似,求|x|≤a,|y|≤b 中站在原点可见的整点的个数K,所有的整点个数为N(除去原点),求K/N分析:坐标轴上有四个可见的点,因为每个象限可见的点数都是一样的,所以我们只要求出第一象限可见的点数然后×4+4,即是K。可见的点满足gcd(x, y) = 1,于是将... 阅读全文
posted @ 2015-01-03 11:13 AOQNRMGYXLMV 阅读(438) 评论(0) 推荐(0)
摘要:题意:给出N和M,统计区间x ∈ [2, N!],x满足所有素因子都大于M的x的个数。分析:首先将问题转化一下,所有素因子都大于M 等价于 这个数与M!互素对于k大于M!,k与M!互素等价于 k % M! 与 M!互素所以我们可以求出φ(M!)(φ为欧拉函数) 然后乘以N! / M!,最后答案再减一... 阅读全文
posted @ 2015-01-02 21:15 AOQNRMGYXLMV 阅读(361) 评论(0) 推荐(0)
摘要:题意:给出n, k,求分析:假设,则k mod (i+1) = k - (i+1)*p = k - i*p - p = k mod i - p则对于某个区间,i∈[l, r],k/i的整数部分p相同,则其余数成等差数列,公差为-p然后我想到了做莫比乌斯反演时候有个分块加速,在区间[i, n / (n... 阅读全文
posted @ 2015-01-02 11:02 AOQNRMGYXLMV 阅读(328) 评论(0) 推荐(0)
摘要:题意:一块圆形土地,在圆周上选n个点,然后两两连线,问把这块土地分成多少块?分析:首先紫书上的公式是错的,不过根据书上提供的思路很容易稍加修改得到正确答案!然后推公式吧,这里用到平面图的欧拉公式,V - E + F = 2,其中V表示顶点个数,E表示边的个数,F表示面的块数。减去最外面的无限大的面,... 阅读全文
posted @ 2014-12-29 20:01 AOQNRMGYXLMV 阅读(772) 评论(0) 推荐(0)
摘要:题意:每张彩票上印有一张图案,要集齐n个不同的图案才能获奖。输入n,求要获奖购买彩票张数的期望(假设获得每个图案的概率相同)。分析:假设现在已经有k种图案,令s = k/n,得到一个新图案需要t次的概率为:st-1(1-s);因此,得到一个新图案的期望为(1-s)(1 + 2s + 3s2 + 4s... 阅读全文
posted @ 2014-12-23 16:56 AOQNRMGYXLMV 阅读(320) 评论(0) 推荐(0)