![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Alcoholsong
这个作者很懒,什么都没留下…
展开
-
# 理解A*寻路算法
理解A*寻路算法转载 2015-03-17 21:01:43 · 431 阅读 · 0 评论 -
动态规划——矩阵连乘
由于矩阵的乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这中计算次序可以用加括号的方式来确定。例如,矩阵连乘积A1A2A3A4可以有一下5种不同的完全加括号方式:(A1(A2(A3A4)))(A1((A2A3)A4))((A1A2)(A3A4))((A1(A2A3))A4)(((A1A2)A3)A4)矩阵A和B可乘的条件是矩阵A的列数等于矩阵B的行数。若A是一个p*q的矩阵,B是一个q转载 2015-04-14 23:04:21 · 1459 阅读 · 0 评论 -
将正整数N转换成m(2-16)进制数
给出一个正整数N和目标进制,将其转换并且输出 代码如下:#include <iostream>using namespace std;void mTurntoN(int m, int n, char* buf);int main() { char buf[100] = { 0 }; cout << "输入要转化的进制:"; int n; cin >> n; c原创 2015-05-31 19:06:47 · 1198 阅读 · 0 评论 -
m进制转为n进制(0<m,n<=10)
首先,将m进制转为10进制,然后在将10进制转为n进制;(都用辗转相除法)#include <iostream>using namespace std;void mToN(char* src, int m, char* dest, int n);void reverseString(char *s);int main() { char A[100] = { 0 }; mToN原创 2015-05-31 20:51:22 · 669 阅读 · 0 评论 -
C++ 实现杨辉三角
下面为杨辉三角的表现形式 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1原创 2015-05-30 23:48:25 · 4142 阅读 · 0 评论 -
回溯法解决0-1背包问题
1004.0-1背包问题 时限:1000ms 内存限制:10000K 总时限:3000ms 描述 需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。输入 多个测例,每个测例的输入占三行。第一行两个整数:n(n<=10)和c,第二行n个整数分别是原创 2015-05-30 21:17:03 · 1690 阅读 · 0 评论 -
动态规划之防卫导弹
问题: 一种新型的防卫导弹可截击多个攻击导弹。它可以向前飞行,也可以用很快的速度向下飞行,可以毫无损伤地截击进攻导弹,但不可以向后或向上飞行。但有一个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次截击导弹时所处高度低或者高度相同的导弹。现对这种新型防卫导弹进行测试,在每一次测试中,发射一系列的测试导弹(这些导弹发射的间隔时间固定,飞行速度相同),该防卫导弹所能获得的信息包括各进攻导弹的高原创 2015-05-10 00:50:24 · 1430 阅读 · 0 评论 -
最长公共子序列问题
字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。考虑最长公共子序列问题如何分解成子问题,设A=“a0,a1,…,am-1”,B=“b0,b1,…,bm-1”,并Z=“z0,z1,…,zk-1”为它们的最长公共子序列。不难证明有以下性质:(1) 如果am-1=bn-1,则zk-1=am-1=bn-1,且“z0,z1,…,zk-2”是“a0,转载 2015-05-10 00:45:32 · 400 阅读 · 0 评论 -
回溯法之素数环问题
把1到20这重新排列,使得排列后的序列A满足: a. 任意相邻两个数之和是素数 b. 不存在满足条件a的序列B使得:A和B的前k(0 <= k <= 19)项相同且B的第k+1项比A的第k+1项小。#include <iostream>#include <cmath>/* 1-20 20个元素排成一个环,要求相邻的两个元素的和都为素数*/using namespace std;in原创 2015-04-20 21:57:44 · 1220 阅读 · 0 评论 -
回溯算法之n皇后问题
n皇后问题输出8皇后问题所有结果。输入 n:棋盘的行列 输出 每个结果第一行是No n:的形式,n表示输出的是第几个结果;下面8行,每行8个字符,‘A’表示皇后,‘.’表示空格。不同的结果中,先输出第一个皇后位置靠前的结果;第一个皇后位置相同,先输出第二个皇后位置靠前的结果;依次类推。输入样例 8 输出样例 输出的前几行: No 1: A……. ….A… …….A …..原创 2015-04-20 21:56:06 · 454 阅读 · 0 评论 -
实现简易字符串压缩算法:一个长度最大为128的字符串, 由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的
题目还是比较简单的,只需要在字符串的起始位置设置指针即可,代码如下所示:/*实现简易字符串压缩算法:一个长度最大为128的字符串,由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的。样例输入:AAAABBBB样例输出:A4B4*/#include <iostream>#include <string>#include <algor原创 2015-04-22 23:39:21 · 3778 阅读 · 1 评论 -
分治法实现循环赛事日程问题
转载自文章问题描述: 设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能参赛一次; (3)循环赛在n-1天内结束。 请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个选手在第j天所遇到的选手。其中1≤i≤n,1≤j≤n-1。8个选手的比赛日程表如下图:转载 2015-04-05 21:19:39 · 898 阅读 · 0 评论 -
回溯法 解决堡垒问题
描述:城堡是一个4×4的方格,为了保卫城堡,现需要在某些格子里修建一些堡垒。城堡中的某些格子是墙,其余格子都是空格,堡垒只能建在空格里,每个堡垒都可以向上下左右四个方向射击,如果两个堡垒在同一行或同一列,且中间没有墙相隔,则两个堡垒都会把对方打掉。问对于给定的一种状态,最多能够修建几个堡垒。输入: 每个测例以一个整数n(1<=n<=4)开始,表示城堡的大小。接下来是n行字符每行n个,‘X’表示该位原创 2015-04-18 15:17:31 · 609 阅读 · 0 评论 -
二维数组中的查找
题目:在一个二维数组中,每一行都是按照从左到右的递增顺序排序, 每一列都是按照从上到下递增的顺序排序,完成一个函数,输入一 个二维数组和一个整数,判断数组中是否含有该整数。分析:1.选取右上方的点,如果要查找值小于这个数,则删除最后一列; 如果要查找值大于这个数,删除第一行。2.选取左上方的点,如果要查找值小于这个数,则增加列; 如果要查找值大于这个数,删除最后一行。C++原创 2015-03-18 17:29:51 · 439 阅读 · 0 评论 -
#计算1~N中数字X的个数,X=0~9.
计算1~N中数字X的个数,X=0~9转载 2015-03-16 15:19:08 · 875 阅读 · 0 评论 -
# cocos2dx3.2 A*寻路算法
cocos2dx3.2 A*寻路算法原创 2015-03-17 21:15:33 · 540 阅读 · 0 评论 -
冒泡排序
在开发中,对一组数据进行有序地排列是经常需要做的事情,所以掌握几种甚至更多的排序算法是绝对有必要的 本文章介绍的是排序算法中较简单的一种算法:冒泡排序 题外话:在深入学习更多排序算法后和在实际使用情况中,冒泡排序的使用还是极少的。它适合数据规模很小的时候,而且它的效率也比较低,但是作为入门的排序算法,还是值得学习的先尝试用最简单的想法去实现排序,以此来比较学习冒泡排序 问题:设有一数组,其大小转载 2015-06-08 01:05:28 · 401 阅读 · 0 评论