设第n个五边形数为,那么,即序列为:1, 5, 12, 22, 35, 51, 70, ... 对应图形如下: 设五边形数的生成函数为,那
题目:http://acm.hnu.cn/online/?action=problem&type=show&id=12610题意:已知圆周上有n个点,两两相连之后,最多能把圆面分成多少部分?结论:最多分成个部分。分析:我们可以用数学归纳法证明这个结论。第一步:很明显当n = 1,2,3,4时,答案分别是1,2,4,8符合公式。第二步:我们先来看看,每多一个点,增加的区域数,经过画图
那么,如果把它推广到三个数呢?定理一:设为正整数,,为非负整数,所不能表出的最大整数为M,那么当 时 定理二:设为正整数,,为非负整数,所不能表出的最大整数为M,
杨氏矩阵又叫杨氏图表,它是这样一个矩阵,满足条件: (1)如果格子(i,j)没有元素,则它右边和上边的相邻格子也一定没有元素。(2)如果格子(i,j)有元素a[i][j],则它右边和上边的相邻格子要么没有元素,要么有元素且比a[i][j]大。 1 ~ n所组成杨氏矩阵的个数可以通过下面的递推式得到: 如图就是n=3时的杨氏矩阵。 &n
对于杨氏矩阵,是一种很强大的数据结构,它既可以用来当堆,又可以用平衡树的查询方法。 最常见的三种操作就是:插入,删除,查询。 对于插入操作:void Insert(int x,int y,int num) { y = min(y,a[x][0]); while(y > 0 && a[x][y] > num) y--; y++;
分别为和,设点p的坐标为并设要求的圆的圆心
题目:http://acm.upc.edu.cn/problem.php?id=2219 题意:It's easy for ACMer to calculate A^X mod P. Now given seven integers n, A, K, a, b, m, P, and afunction f(x) which defined as following.f(x)
题目:http://acm.nankai.edu.cn/p1002.html 题意:对给定的f(n),当 n>=50025002 的时候,f(n)=n-5;当 n<50025002 的时候,f(n)=f(f(n+2005)),求f(n). 分析:注意本题给出数据n很大-2147483647<n<2147483647,如果你要递归,一是层数太多,会溢出,而
后的1,0都
题目:给定一个正整数,范围是,对于方程,其中,,为非负整数,求有多 少个这样的三元组满足此等式。 分析:本题最暴力的做法就是直接嵌套循环枚举,这样时间复杂度很大,不可取。仔细想想,先看, 这个等式的非负整数解数目为 &nbs
为0) ,每次找第k行以下(包括第k行),col列中元素绝对值最大的列与第k行交换。如果col列中的元
题目:http://poj.org/problem?id=1222 题意:5*6矩阵中有30个灯,操作一个灯,周围的上下左右四个灯会发生相应变化 即由灭变亮,由亮变灭,如何操 作使灯全灭?分析:这个问题是很经典的高斯消元问题。同一个按钮最多只能被按一次,因为按两次跟没有按是一样的效果。那么 对
题意:已知g(i)=k*i+b,然后求,F(n)是Fibnacci数列,k,b,n,M是题目给定的。分析:我们可以认为,其中那么就可以有:那么我们就可以先快速幂计算出 AND ,然后再二分求和就可以了。
题目:2831: 小强的金字塔题意就是给出A,B,C,R,L,然后求这里其实用到扩展欧几里德。(基本上参照clj的解题报告才理解的)分析:我们先来分析一般情况:这里我们假设A<C和B<C,否则我们可以把它化成A<C,B<C的情况我们令:,所以上式就等价于:,如果,那么的值是1,否则为0然后我们交换顺序:,由于,所以推导过程:因为,所以,那么,进一步有:,所以令:那么式子就转
牛顿二项式定理描述:设是实数,对于所有满足的x和y,有 ,其中 那么现在我们令,则,于是上述定理等价转换为:对于满足的任意z,有 假设n是一个正整数,那么选择为负整数-n,则: 根据上面的推导,我们可以很容易得到: 利用二项式定理我们可以求一个数任意精度的平方根。 我们取上面的为,那么有:&
我们把集合:叫做高斯整数环,其中Z表示通常的整数环,而用表示复数域上的整数环。 那么什么是环呢?就是通过加减乘三种运算后,仍然能满足本身性质的就叫做环。 范的定义:设,,定义a的范为 设,则 (1)为非负整数,并且 (2) (3)若,则 逆的定义:设,如果存在,使得,则称为中的乘法可逆元,简称
ble型数据,然后取整就可以了。 计算N!在K进制下的位数,即计算log(1) log(2) ... log(N)其中log的底数都是K代码:#include #include int main(){
康托展开表示的是当前排列在n个不同元素的全排列中的名次。比如213在这3个数所有排列中排第3。 那么,对于n个数的排列,康托展开为: 其中表示第i个元素在未出现的元素中排列第几。举个简单的例子: 对于排列4213来说,4在4213中排第3,注意从0开始,2在213中排第1,1在13中排第0,3在3中排第0,即: ,这样得到4213在所有排列中排第ans=20
为了更好体现数学在计算机算法中的重要作用,我来介绍一些数学知识以及它们的应用。Contens 1. 秦九韶算法 9. 最小二乘法 &nbs
从今天开始,我会介绍一些关于斐波那契数列在ACM竞赛中的典型题目,以便广大的ACMer能从中受益,能更好地掌握它。题目:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=462题意:已知是斐波那契数列,求如下表达式的值。 分析:我们知道斐波那契数列的公式是
要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2
次和的表示分情况讨论 (1)如果为奇数,那么在这个表示中一定含有一个1,把这个1减去,就是的情况了。 (2)如果为偶数,那么也分情况,得到。 代码:[cpp] view plai
题目:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=200 题意:改变汉诺塔移动的规则,不允许直接从最左边移到最右边(每次移动一定是移到中间杆或从中间移出),也不 允许大盘放到小盘的上面。现在有个圆盘,至少多少次移动才能把这些圆盘从最左边移到最右边? 分
include #include us
Bell数的定义:第n个Bell数表示集合{1,2,3,...,n}的划分方案数,即:B[0] = 1; 每一个Bell数都是第二类
题目:大数开方 Java代码:适合被开方数不超过1000位的。import java.util.*;import java.math.*;public class Main{ public static void main(String[] args) canner(
题目:Octal Fractions 利用迭代法就行,比如把八进制小数0.d1d2d3d4转化为十进制小数,则就是利用下面的式子。从最后一位开
题目:花神的数论题 设 sum(i) 表示 i 的二进制表示中 1 的个数。给出一个正整数 N ,求 sum(1)至sum(N) 的乘积。#includ
求n!,C(n,m),A(n,m)最后的非零位。 先说说怎样求n!最后的非零位吧!比如找10!最后的非零位,由于质因数2和5
题目:1153. Supercomputer题目大意:N=x*(x+1)/2,给你N (N 600),输出x分析:求sqrt(2*N)即可#include #include #include #include #includ s
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号