一点一滴算法
不凡_
我愿意冒险,不辜负每一次的Error.
展开
-
一点一滴算法 骑士走棋盘
/* 骑士走棋盘 说明: 骑士旅游Knight tour在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋 棋的走法,骑士可以由任一个位置出发,它要如何走完所有的位置。 解法: 骑士的走法,基本上可以用递回来解决,但是纯粹的递回在维度大时相当没有效率,一个聪明的解法由J.CWarnsdorff 在1823年提出, 简单地说,先将最难的位置走完,接下来的路就宽广了,骑...原创 2020-03-27 15:51:20 · 212 阅读 · 0 评论 -
背包问题 个人学习笔记及 代码
0/1 背包问题 #include<cstdio> #include<cstring> #include<iostream> #include<cmath> #include<algorithm>//个人 一般习惯写全头文件 using namespace std; #define N 1010 int f[N]; int m,n;/...原创 2020-03-15 12:50:45 · 230 阅读 · 0 评论 -
一点一滴算法之素数筛选
找出1000之内(含1000)的所有素数的方法一个一个因子筛选 #include<stdio.h> #include<math.h> #define n 1000 int main() { int i,j,prime[n+1]; prime[0]=prime[1]=0; for(i=2;i<=n;i++) { ...原创 2020-03-14 18:33:50 · 162 阅读 · 0 评论 -
一点一滴算法之双色汉诺塔颜色分离
双色河内塔是由之前所介绍过的河内塔规则衍生而来,双色河内塔的目的是将下图左上的圆环位置经移动成为右下的圆环位置: 双色河内塔或是原始的河内塔,其解法观念与之前介绍过的河内塔是类似的,同样也是使用递回来解,不过这次递回解法的目的不同,我们来看双色的情况,这很简单, 只要将第一柱的黄色移动至第二柱,而接下来第一柱的蓝色移动至第三柱。再来是四个盘的情况,首先必须用递回完成下图左上至右下的移动: ...原创 2020-03-14 17:52:32 · 585 阅读 · 0 评论 -
一点一滴算法之字串核对
给个列子更能明白 题的意思 这是程序执行结果,简单来说可以使用kmp但这里 先制作一个table前进表之后,在剩余主串中寻找第一次出现 子串的 位置 也即每次找都是在前一次找到的位置后进行,之后输出主串中从该位置到末尾的字符串, 所以会有前进多少的问题,前进的步数 应该是 子串中某一位置字符前的字符个数,也就是可以当作是 字符串移动本身字符的长度,这里是通过一个字符一个字符制作移动前进...原创 2020-03-14 16:43:27 · 231 阅读 · 0 评论 -
一点一滴算法之n的阶乘的准确值
n!=1*2*3*4*5*6*...*n,n不超过1000 样例 输入:30 输出:265252859812191058636308480000000 分析: 1000的阶乘 大概可以用3000位表示,那么我们可以联想到使用数组记录各个位数,sz[0]保存个位数字 以此类推保存 #include<stdio.h> #include<string.h> #d...原创 2020-03-13 21:03:52 · 288 阅读 · 0 评论