给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低
http://acm.hdu.edu.cn/showproblem.php?pid=5139 Problem Description f(n)=(∏i=1nin−i+1)%1000000007You are expected to write a program to calculate f(n)
http://acm.hdu.edu.cn/showproblem.php?pid=1588 Problem Description Without expecting, Angel replied quickly.She says: "I'v heard that you'r a very cle
http://acm.hdu.edu.cn/showproblem.php?pid=1757 Problem Description Lele now is thinking about a simple function f(x).If x < 10 f(x) = x.If x >= 10 f(x
http://wenku.baidu.com/link?url=60wguK6BIogNTyNdq6UGESAPuUW5vAVyFKo_kltrPtxFchYi-B7De3sWqr4oAxKrmwoHv9vo-sNxVwcK7Hr6vSdBV9zmAvgEZE7Vg971z_a HDU1588: 二
二分的用处太大了,不管是求简单的方程,还是求最优解方面都是不错的解题思想。 只要在线性,顺序或者有序的数据里就可以用二分来找最优的答案,而且时间平均都是O(log2 n)。题目中好像是HDU 4190吧,这题的限时是10000ms,而用二分做才用时1000ms,其优点可想而知。 不过就像《编程珠玑》
在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称
http://poj.org/problem?id=3233 题目大意:给定矩阵A,求A + A^2 + A^3 + … + A^k的结果(两个矩阵相加就是对应位置分别相加)。输出的数据mod m。k<=10^9。这道题两次二分,相当经典。首先我们知道,A^i可以二分求出。然后我们需要对整个题目的数
矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)*(A*A)*(A*A)这样变的好处是
Fibonacci数列:F(0)=1 , F(1)=1 , F(n)=F(n-1)+F(n-2) 我们以前快速求Fibonacci数列第n项的方法是 构造常系数矩阵 (一) Fibonacci
代码:
快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。——bybaidu 原理
http://acm.hdu.edu.cn/showproblem.php?pid=1286 没什么好说的,模板题,主要是弄懂欧拉函数的思想。 POJ2407:http://poj.org/problem?id=2407
#include #include #include #include #include using namespace std; int n; struct point { double x; double y; }; struct v { point s; point e; } q[102]; int sum; double multi(...
http://poj.org/problem?id=3070
http://acm.hdu.edu.cn/showproblem.php?pid=1575 #include <iostream> #include <string.h> #include <stdlib.h> #include <cstdio> #include <algorithm> #def
http://acm.hdu.edu.cn/showproblem.php?pid=5086#include #include #include #include #include #include #include #include #define mod 1000000007using name...
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2877题目描述The problems called "Angry Birds" and "Angry Birds Again and Again" has...
题目链接:http://poj.org/problem?id=1845 定义: 满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。 为什么要有乘法逆元呢? 当
题目链接:http://poj.org/problem?id=2992 题目要求:Your task in this problem is to determine the number of divisors of Cnk. Just for fun -- or do you need any s
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题目解析: Given 5 integers: a, b, c, d, k, you're to find x in a...b
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4135 题目解析: 给你一个闭区间[A,B](1 <= A <= B <= 1015),以及一个正整数N,
在计数时,必须注意无一重复,无一遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。 (1)两个集合容斥关
题目链接:http://poj.org/problem?id=1811题目解析:2<=n<2^54,如果n是素数直接输出,否则求N的最小质因数。求大整数最小质因数的算法没看懂,不打算看了,直接贴代码,以后当模版用。数据比较大,只能先用Miller_Rabin算法进行素数判断。在用Pollard_rho分解因子。 #include <iostream> #inclu
模的运算规则 运算规则 模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (1
欧拉定理(又称费马-欧拉定理):已知a和n为正整数,并且a和p互素,则a^phi(n) ≡ 1(mod n)。 证明: 设集合Z = {X1, X2, X3, .... , Xphi(n)},其中Xi (i = 1, 2, .. phi(n))表示第i个不大于n与n互质的数。 考虑集合S = {a*
整数分解,又称质因子分解。在数学中,整数分解问题是指:给出一个正整数,将其写成几个素数的乘积的形式。 (每
对于同余方程组: x=a1 (mod m1); 1 x=a2 (mod m2); 2 方程组有一个小于m(m1,m2的最小公倍数)的非负整数解的
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3579 题目解析:求一元线性同余方程组的最小解X,需要注意的是如果X等于0,需要加上方程组通解的整数区间lcm(a1,a2,a3,...an)。 别的就没什么注意的了。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号