摘要:
这道题实到bfs的题目,很简单,不过搜索的方向变成8个而已,对于不会下象棋的会有点晕。#include #include #include #include using namespace std;int c[9][9];int dir[8][2] = {{-2,-1},{-2,1},{-1,2},... 阅读全文
摘要:
有起点和终点,有方向,有最少次数,所以这道题很明显是一道bfs的题目,这题要利用vist数组来标记已走过的楼层,因为这题里面已走过的楼层是不可能在走第二遍的。第二次走和第一次走的选择没有任何的区别。#include"iostream"#include"stdio.h"#include"string.... 阅读全文
摘要:
因为要求的是最少的时间,很明显的是一个利用优先队列的bfs的题目,题目很一般。#include"iostream"#include"algorithm"#include"stdio.h"#include"string.h"#include"cmath"#include"queue"#define m... 阅读全文
摘要:
因为这道题中给的数据比较小,所以可以直接用枚举的方式进行dfs搜索,每出现一个‘@’,就进行一次dfs的搜索,将所有相邻的‘@’全部变成‘*’。#include"iostream"#include"stdio.h"#include"algorithm"#include"string.h"#inclu... 阅读全文
摘要:
参考大神博客:chuanbindeng的素数判断算法关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。正如大家都知道的那样,一个数n如果是合数,那么它的所有的因子不超过sqrt(n)--n的开方,那么我们可以用这... 阅读全文
摘要:
此思想借助2.2.1来帮助理解:先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c);假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7;log10... 阅读全文
摘要:
矩阵快速幂专题:(参考各位大神的博客学习一下)一: 据说,矩阵快速幂在递推式优化上相当神奇,而且效率很高。。。 两矩阵相乘,朴素算法的复杂度是O(N^3)。如果求一次矩阵的M次幂,按朴素的写法就是O(N^3*M)。既然是求幂,不免想到快速幂取模的算法,这里有快速幂取模的介绍,a^b %m 的复杂度... 阅读全文
摘要:
众所周知,有限小数是十进分数的另一种表现形式,因此,任何一个有限小数都可以直接写成十分之几、百分之几、千分之几……的数。那么无限小数能否化成分数?首先我们要明确,无限小数可按照小数部分是否循环分成两类:无限循环小数和无限不循环小数。无限不循环小数不能化分数,这在中学将会得到详尽的解释;无限循环小数是... 阅读全文
摘要:
网上找的大神的总结。中间很多图片省略掉了。。。以后补上。Catalan数 中文:卡特兰数 原理: 令h(1)=1,h(0)=1,catalan数满足递归式: h(n)= h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1) (其中n>=2) 另类递归式:... 阅读全文
摘要:
这个是我在网上找到的背包九讲,写的非常好:背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常... 阅读全文