![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
POJ_数论
文章平均质量分 70
smsmn
在学校曾获得过福建省大学生程序设计竞赛并参加过ACM/ICPC亚洲区的预选赛,曾获得过高等数学竞赛一等奖和全国数学建模竞赛福建赛区一等奖;对C#、.net和SQL熟悉,在学校用.net和C#做过教学管理系统;在学校通过了全国计算机四级和大学英语四级的考试。<br/>在工作的这一两年除了用C/C++进行三维开发之外,也涉及了网络编程的开发,对ASIO和socket熟悉。<br/>在杭州和厦门这段时间都是使用OpenGL进行开发,前者是做虚拟现实,后者是底层导航引擎开发。<br/>总之,我对于C/C++开发特别感兴趣,也想在三维、嵌入式、视频监控系统或者游戏方面有所发展。
展开
-
平面上最近点对的距离 POJ 3714
/*对于这类题目,首先要对进行划分区域,要划分区域就要按照X坐标进行排序,然后进行划分,当划分到只有两个点或者三个点时,在进行求点之间的距离,并记录!接下来进来区域之间的合并,当当前的点到刚才以这个划分区域为准的中线距离大于刚才我们所求的距离时,则放弃,否则进行更新最短距离!总体算法思想就是利用递归最后进行合并的思想!*/#include#include#include#define eps 1e-10using namespace std;//最近点对问题con原创 2010-10-25 10:26:00 · 2800 阅读 · 0 评论 -
Plóya定理 的应用
问题:对于一个n的正方形连成环,用m种颜色染色,可得到多少种不重复的不同的图像?经过旋转可以重合的染色方案视为一种。1.对于有c种颜色,s个珠子的旋转为重复的种类一共有ans种。算法代码如下:for(i=1;i2.对于要考虑翻转与旋转的那么分析如下: 翻转(这个要分奇偶) 奇数: 只能对称轴穿过某颗珠子,循环个数为(n+1)/2,共有n个这样的循环群; 偶数: 对称轴过两个珠子,循环个数(n+2)/2,共有n/2个这样的循环群; 对称轴过两个相邻珠子的,循环个数原创 2010-10-25 11:41:00 · 641 阅读 · 0 评论 -
中国剩余定理
<br />说到中国剩余定理就不能不提一些前期的一些知识点:<br />1.利用欧几里得算法求整数系数已从不定方程ax+by = c的解:<br />对于这个不定方程的解有两种程序:<br />(1)无递归的实现方式:<br />//扩展的欧几里得算法无递归程序:__int64 extend_gcd_w_dg(__int64 a, __int64 b, __int64 &x, __int64 &y){ __int64 x0, x1, x2, y0, y1, y2; __int64 r0, r原创 2010-11-13 15:49:00 · 715 阅读 · 0 评论 -
中国剩余定理的使用POJ
<br />http://poj.org/problem?id=2891<br />/*中国剩余定理的使用:首先得到 a1 * x + r1 = m 和 a2 * y + r2 = m,联立得到 a1 * x - a2 * y = r2 - r1,利用extend_gcd解之,先解得a1*X-a2*Y=GCD(a1,a2)时的X Y值和a1,a2的gcd,x y存在整数解的条件是 gcd | r2-r1.是否输出-1就是从这判断。有解即为 x=(r2-r1)/gcd*X原创 2010-11-13 19:19:00 · 682 阅读 · 0 评论 -
队列的简单实现
顺序表的实现:#include #include #define MaxSize 100typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int front, rear;}SQUEUE;void initQueue(SQUEUE *sq){ sq->rear = sq->front = 0;}原创 2013-02-20 11:27:43 · 439 阅读 · 0 评论 -
kmp算法
KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。在KMP算法中,为了确定在匹配不成功时,下次匹配时j的位置,引入了next[]数组,next[j]的值表示P[0...j-1]中最长后原创 2013-02-20 14:54:30 · 539 阅读 · 0 评论 -
数据结构中栈的实现
顺序表的栈的实现,简单的实现功能为入栈和出栈功能:#include #include #define MaxSize 100typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int top;}STACK;void initStack(STACK *s){ s->top = -1;}int pu原创 2013-02-20 10:09:38 · 498 阅读 · 0 评论 -
整数的所有分割数目
转载于:http://www.cnblogs.com/NeilHappy/archive/2013/02/15/2912685.html问题描述:把一个正整数写成若干个正整数的和。比如4=3+1,2+2,2+1+1,1+1+1+1,再加上自己,就一共有5种分割方式。 思路:求解4的所有分割方式,实际上就是求分割中以4为最大值而且和为4的所有分割方式,可以用p[4][4]来表示。抽象转载 2013-02-20 10:06:32 · 496 阅读 · 0 评论 -
Hanoi的实现
n阶Hanoi塔问题是:设有3个塔座,依次命名为X,Y和Z。有n个直径各不相同的圆盘,由小到大依次编号为1,2,3,...,n。开始时,它们全部按圆盘大小递减的次序插在塔座X上。现要求把这n个圆盘以大小递增的次序插放到塔座Z上。移动圆盘时应遵守以下规则:(1)每次只能移动一个圆盘。(2)圆盘可以从任一塔座移到另一塔座上。(3)任何时候都不能把大的圆盘压在下的圆盘之上。简单的递归实现原创 2013-02-20 10:52:17 · 504 阅读 · 0 评论