上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 链接:http://poj.org/problem?id=1063题意:把若干个白球和黑球围成一圈,每个球都可以与与它距离为2的球交换位置,判断能否把黑球和白球分开;思路:白球和黑球分开最后的结果为把球排成一排后所有白球或者黑球在奇数位上的个数和在偶数位上的个数之差为2以内(不等于2),若总数为奇数,则不管小球的布局如何,一定能使黑白球各自连续。因为在这种情况下,奇位置上的小球通过交换可以移动到偶位置上。而若总数为偶数则需要满足以上要求了,因为为偶数时它们交换相对奇偶性不变.View Code 1 #include <iostream> 2 #include <cstdio& 阅读全文
posted @ 2013-01-07 09:33 淡墨æ末央 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 链接:http://poj.org/problem?id=1050题意:求给定的矩阵的最大子矩阵和;思路:将二维转化为一维求最大连续子串和;母串为从原矩阵中截取连续的几行,求其最大子串和;View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 #include <cmath> 6 using namespace std; 7 8 int N, a[105][105], s[105]; 9 10 int 阅读全文
posted @ 2013-01-07 08:50 淡墨æ末央 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1 c++的4个主要特点: 抽象, 封装, 继承和多态; 抽象, 封装是基础, 继承是关键, 多态是补充;2 多态是指不同的对象面对不同的消息产生不同的行为;3 函数重载和运算符重载都是简单一类多态性;4 函数的重载: 给同一函数名予以不同的意义;5 C++中允许在相同的作用域内以相同的名字定义几个不同实现的函数,可以是成员函数,也可以是非成员函数;6 定义这种重载函数时要求函数的参数的数量或类型至少有一处不同。而对于返回值的类型没有要求,可以相同,也可以不同,那种参数个数和类型都相同,仅仅返回值不同的重载函数是非法的;7重载函数的意义在于它可以用相同的名字访问一组相互关联的函数,由编译程序来 阅读全文
posted @ 2012-11-28 22:18 淡墨æ末央 阅读(261) 评论(0) 推荐(0) 编辑
摘要: class Student{ private: int num; int score; string name;}1 简单地说,构造函数是一种函数,是当一个对象被建立时,程序为对象进行初始化而调用的函数;2 类的数据成员在声明时是不能初始化的, 因为类不是一个实体而是一种抽象类型,并不占存储空间,无处容纳数据,如下例是不合法的; class Student{ private: int num=123; int score=100; string name="World";}3 构造函数只有一... 阅读全文
posted @ 2012-11-26 13:42 淡墨æ末央 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一些定义: 类: 具有相同属性和行为的一组对象的集合; 对象:由一组属性和一组行为构成; 属性:用来描述对象的静态特征的数据项; 行为:用来描述对象的动态行为的操作序列; 类是对象的抽象, 对象是类的具体实例.类是抽象的, 不占内存, 对象是具体的, 是占存储空间的 内联函数: 从源代码层看,它具有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。类的声明;大多数用关键字 class , 其实也可以用关键字 stuct;基本上差不多, 只... 阅读全文
posted @ 2012-11-25 00:20 淡墨æ末央 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 一.扩展的欧几里德和不定方程的解解不定方程ax+by=n的步骤如下:(1)计算gcd(a,b).若gcd(a,b)不能整除n,则方程无整数解;否则,在方程的两边同除以gcd(a,b),得到新的不定方程a'x+b'y=n',此时gcd(a',b')=1(2)求出不定方程a'x+b'y=1的一组整数解x0,y0,则n'x0,n'y0是方程a'x+b'y=n'的一组整数解。(3)根据扩展欧几里德定理,可得方程a'x+b'y=n'的所有整数解为:x=n'x0+b'ty 阅读全文
posted @ 2012-10-07 08:29 淡墨æ末央 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 数论中的一些公式(转)以下等式或者不等式均可以用数学归纳法予以证明!1+3+5+...+(2n-1)=n^21*2+2*3+3*4+...+n*(n+1)=n*(n+1)*(n+2)/31*1!+2*2!+3*3!+...+n*n!=(n+1)!-11^2+2^2+3^2+...+n^2=n*(n+1)*(2n+1)/61^2-2^2+3^2-...+(-1)^n*n^2=(-1)^(n+1)*n*(n+1)/22^2+4^2+...+(2n)^2=2n*(n+1)*(2n+1)/31/2!+2/3!+...+n/(n+1)!=1-1/(n+1)!2^(n+1)<1+(n+1)2^n1^ 阅读全文
posted @ 2012-10-07 08:25 淡墨æ末央 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1907简单的博弈~~尼姆博奕(Nimm Game):有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。这种情况最有意思,它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n,n),只要与对手拿走一样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,接下来都可以变为(0,n,n)的情形。 计算机算法里面有一种叫做按位. 阅读全文
posted @ 2012-09-23 10:21 淡墨æ末央 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3215利用对数求 N 的最高位 s=pow(10, log10(N)-[log10(N)]) ; View Code 1 #include <stdio.h> 2 #include <math.h> 3 const double eps=1.0e-6; 4 int dp[10010][10]; 5 void Init( ) 6 { 7 int y; 8 double s=log10(2), t, x; 9 dp[0][1]=1;10 for( int ... 阅读全文
posted @ 2012-09-19 20:07 淡墨æ末央 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1700题意:给出一个圆心在原点的圆上一点,求此圆上另外两点使其构成三角形周长最长。思路: 圆内的等边三角形周长最长。View Code 1 #include <stdio.h> 2 #include <math.h> 3 #define PI 3.1415926 4 5 int main() 6 { 7 double x,y,x1,y1,x2,y2,cosx,a,b,c,r,delta; 8 int t; 9 scanf("%d",&t);10 wh. 阅读全文
posted @ 2012-09-14 17:05 淡墨æ末央 阅读(230) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页