----------基础数学
mfcheer
他不停地跑啊跑 就为了追上那个曾经被寄予厚望的自己
展开
-
算法-求二进制数中1的个数
int BitCount(unsigned int n){ unsigned int c =0 ; // 计数器 while (n >0) { if((n &1) ==1) // 当前位是1 ++c ; // 计数器加1 n >>=1 ; // 移位 } return c ;}2. 快速移位+计原创 2014-10-31 10:51:13 · 577 阅读 · 0 评论 -
hdu 1115 Lifting the Stone【求多边形重心】
http://acm.hdu.edu.cn/showproblem.php?pid=1115代码:#include <iostream>#include <set>#include <string>#include <cstdio>#include <string.h>#include <algorithm>#include <vector>using namespace std;dou原创 2015-12-02 22:24:56 · 334 阅读 · 0 评论 -
hdu 5344 MZL's xor
MZL's xorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 310 Accepted Submission(s): 225Problem DescriptionMZL loves xor very原创 2015-08-04 23:39:25 · 882 阅读 · 2 评论 -
LightOJ Math_Basic Math 专题
挖个坑。开始板刷lightoj.1354 http://www.lightoj.com/volume_showproblem.php?problem=13542进制与十进制是否相等。代码:#include <stdio.h>#include <iostream>#include <string.h>#include <algorithm>#include <math.h>#include原创 2015-06-05 18:15:58 · 448 阅读 · 0 评论 -
hdu 5317 RGCDQ
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5317题意:F[i]表示i的因子的数目。 询问区间 [L,R] 中 gcd(F[i],F[j]) (L<= i <= R,L<= j <= R)的最大值解法:用sum[i][j] 表示 前 i 个F值中有多少 j代码:#include <stdio.h>#include <ctime>#includ原创 2015-07-28 20:39:47 · 663 阅读 · 1 评论 -
hdu 5312 Sequence【数学推导】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5312解法: 这个题看上去是一个贪心, 但是这个贪心显然是错的. 事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的整数k (k > 2), 使得(m - k) mod 6 = 0即可.证明如下: 3n(n-1)+1 = 6(n*(n-1)/2)+1, 注意到n原创 2015-07-26 20:26:10 · 780 阅读 · 0 评论 -
UVA 11300 SPREADING THE WEALTH 【数学】
DescriptionProblemA Communist regime is trying to redistribute wealth in a village. They have have decided to sit everyone around a circular table. First, everyone has converted all of their properties原创 2015-06-05 23:46:33 · 430 阅读 · 0 评论 -
hdu 2554 N对数的排列问题 【数学】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2554题意:中文题目就不说了。假设每个数 i 的第一次出现位置是ai ,第二次出现的位置是 bi,则可以推导出又所以解得sum of ai= n*(3n-1)/4; 要保证解为正整数。代码:#include <stdio.h>#include <iostream>#include <string.h>原创 2015-06-05 18:11:45 · 487 阅读 · 0 评论 -
Light oj 1245 【数学题】
1245 - Harmonic Number (II)PDF (English)StatisticsForumTime Limit: 3 second(s)Memory Limit: 32 MBI was trying to solve problem '1234 - Harmonic Number',原创 2015-03-09 20:17:30 · 638 阅读 · 0 评论 -
神奇的编码 【进制转换】
神奇的编码 Description 假如没有阿拉伯数字,我们要怎么表示数字呢 小明想了一个方法如下: 1 -> A 2 -> B 3 -> C …. 25 -> Y 26 -> Z 27 -> AA28 -> AB …. 现在请你写一个程序完成这个转换Input 输入的第一个数为一个正整数T,表明接下来有T组数据。 每组数据为一个正整数n ( n <= 1原创 2015-03-16 21:09:37 · 1253 阅读 · 0 评论 -
观察表达式的规律,计算前n项的和
观察下列表达式的规律,计算前n项的和2/1 + 3/2 +5/3 +8/5 +13/8+ 21/13思路:不能有斐波那契额数推分母分子分别为前两项分母分子的和,因为n == 100时,斐波那契数会很大,超出范围,所以找规律:F(n) = 1/F(n-1)+1;#include #include #include #include #include #include #inc原创 2015-03-06 12:38:47 · 1192 阅读 · 0 评论 -
hdu-5167 Fibonacci
链接地址:http://acm.hdu.edu.cn/showproblem.php?pid=5167FibonacciTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 474 Accepted Submis原创 2015-02-01 00:28:03 · 823 阅读 · 0 评论 -
给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?
解法一:举例说明,为了减少复杂度,就使用八位二进制吧。设 A = 0010 1011, B = 0110 0101.1. C = A & B = 0010 0001;2. D = A | B = 0110 1111;3. E = C ^ D = 0100 1110;//异或运算4. 结果E中有4个1,那么也就是说将A变成B,需要改变4位(bit)。至于如何判断E的二进制表示中有原创 2014-10-31 10:53:25 · 1943 阅读 · 0 评论 -
斯特灵公式
计算阶乘位数,利用斯特灵公式:一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在n很小的时候,斯特灵公式的取值已经十分准确。 公式(1)推导: ln(n!)=0.5*ln(2*PI*n)+n*ln(n/e) =0.5*ln(2*PI*n)+n*ln(n)-n原创 2014-10-31 10:48:03 · 646 阅读 · 0 评论 -
平面分割问题
平面分割问题 (1) n条直线最多分平面问题题目大致如:n条直线,最多可以把平面分为多少个区域。析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。 这样就会得到n-1个交点。这些交原创 2014-10-31 10:41:39 · 634 阅读 · 0 评论 -
LightOJ 1067 - Combinations【Lucas定理】
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1067题意: 组合数求模,Lucas定理代码:#include <stdio.h> #include <math.h> #include <stdlib.h> #include <algorithm> #include <string.h> #include原创 2016-03-14 08:46:07 · 605 阅读 · 0 评论