![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 68
lizhihaoweiwei
这个作者很懒,什么都没留下…
展开
-
使用 rand7 实现 rand10 的解决办法及扩展
使用 rand7 实现 rand10 的解决办法及扩展一个误区引出问题的本质初看这个问题应该很简单啊,7 个盒子分为两分部:5 + 2。第二部分 2 ,有两种状态:乘以/不乘以 到第一部分上去,不就得到 10 个状态了?刚好可以表示 10 空间。那也就得到 rand10 了。细想一下不对:如果"第一部分数字"是 1,乘2得到2。如果"第一部分数字"是2,乘以1得到2。这丙种情况都得到 2:比得到 1 的情况要多。则不是等概率的了。问题的关键点1:在实现 randn 的过程中,需要多次调用 randm原创 2021-04-25 16:55:14 · 356 阅读 · 0 评论 -
位运算
1.绝对值a)int absn = (n ^ (n >> 31)) - (n >> 31)原创 2014-07-14 18:46:27 · 517 阅读 · 0 评论 -
数对之差最大
问题:给定数组 a0,a1,a2...an ,求前一个元素原创 2014-07-13 21:39:58 · 654 阅读 · 0 评论 -
头递归和尾递归
《像程序员一样思考》一书对头递归和尾递归描述的非常精彩,原创 2014-09-09 12:49:24 · 3112 阅读 · 0 评论 -
bwt - search 算法
之前做过一个 bwt-search 算法。b原创 2014-09-13 00:20:27 · 1838 阅读 · 0 评论 -
带树有向图的关键路径
转载自:http://gengning938.blog.163.com/blog/static/128225381201151485051633/转载 2014-09-11 11:05:25 · 1588 阅读 · 0 评论 -
取石头游戏
N块石头排成一行,每块石头有各自固定的位置。两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜。这个游戏有必胜策略吗?原创 2014-09-11 13:27:23 · 921 阅读 · 0 评论 -
0,1,2,3型文法
乔姆斯基把方法分成四种类型,即0型、1型、2型和3型。这几种文法类型的概念一定要掌握,是一个非常重要的考点。对于这几种文法,一般书上都只有简单的概念介绍,比较抽象,所以很多学员都没有真正理解。下面我将把概念结合例题进行讲解。 0型文法 设G=(VN,VT,P,S),如果它的每个产生式α→β是这样一种结构:α∈(VN∪VT)*且至少含有一个非终结符,而β∈(VN∪VT)*,则G是一个转载 2014-09-12 09:42:12 · 1336 阅读 · 0 评论 -
火车运煤问题
昨天面试被问到一道面试题,遗憾没有给出最优解。现列如下,给以后面试的同学个参考。煤矿有 3000 吨煤要拿到距离为 1000 km 的市场上卖,有一辆火车可以用来运煤,火车最多能装 1000 吨煤,且火车本身需要烧煤做动力,每走 1 公里消耗 1 吨煤,如何运煤才能使得运到市场的煤最多,最多是多少?图1 示意图先说说当时我的思路:1.因为路途比较远,故中途必然可以允原创 2014-09-27 14:58:23 · 3773 阅读 · 0 评论 -
常见的面试算法题
转载自:http://www.cnblogs.com/zhenjing/archive/2010/10/18/1854020.htmlProblem 1 : Is it a loop ? (判断链表是否有环?)Assume that wehave a head pointer to a link-list. Also assumethat we know the list is s转载 2014-10-29 17:12:33 · 700 阅读 · 0 评论 -
排序算法学习
今日做实验涉及到上百万数字的排序问题,研究了一下基数排序,这篇文章给了我很大的启发,从中学习到了很多。http://blog.csdn.net/yutianzuijin/article/details/22876017虽然改进后,性能有一定的提升,但是,与 Java 库自带的排序(Arrays.sort) Dual-Pivot Quicksort(点击打开链接)性能还是有较大差距。原创 2015-03-22 22:09:25 · 411 阅读 · 0 评论 -
IOI国家集训队历年论文
中国国家集训队论文集目录(1999-2009) 国家集训队1999论文集陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》来煜坤:《把握本质,灵活运用——动态规划的深入探讨》齐鑫:《搜索方法中的剪枝优化》邵铮:《数学模型的建立、比较和应用》石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》杨帆:《准确性、全面性、原创 2015-05-18 12:45:52 · 3931 阅读 · 0 评论 -
从 n 个数字中选出 m 个不同的数字,保证这 m 个数字是等概率的
问题如上。这是我被面试的一个题目。我的第一反应给出的解决办法是,开启 n 个线程并标记序号,各个线程打印出它的序号。直到有 m 个线程被调度时,停止所有线程。打印出的序号即是 m 个等概率出现的数字。面试官听到这个解决办法,吸了一口凉气,估计心里在想,这小伙疯了!我当时自知这个解决方案不是面试官想要的,于是说了,如果这个 n 很大,那么就要另想办法了,因为不可能在一个进程里产生任原创 2014-10-29 19:05:14 · 2684 阅读 · 2 评论 -
skiplist 分析
skiplist 时间复杂度分析原创 2016-03-23 16:03:32 · 736 阅读 · 0 评论 -
重复字符串的判定问题(质数检验法)
重复字符串的判定问题(质数检验法)原创 2017-08-09 10:04:29 · 757 阅读 · 0 评论 -
重复字符串的判定问题(kmp 算法之优化版本)
重复字符串的判定问题(kmp 算法之优化版本)原创 2017-08-09 12:21:24 · 684 阅读 · 0 评论 -
重复字符串的判定问题(kmp 算法)
重复字符串的判定问题(kmp 算法)原创 2017-08-09 12:09:44 · 1216 阅读 · 0 评论 -
rsa 与加密机
rsa 与加密机原创 2017-11-01 15:53:21 · 2076 阅读 · 0 评论 -
组合数的奇偶性
本文内容来自于网上材料,原创 2014-08-06 00:31:05 · 1470 阅读 · 0 评论 -
后缀树的创建
后缀树创建的算法比较复杂,不是很好懂,我从比较好理解的角度,一口咬定原创 2014-07-22 19:42:52 · 37059 阅读 · 4 评论 -
小学生活动安全区域
某幼儿园, 130 名孩子, 15 名老师,有有由于园内的空间不足,为了让孩子们能够充分活动,需要将孩子们带到一块长 50 米,宽35 米的矩形空地上去活动。每天大约要活动 30 分钟。在空地上活动是安全的,空地外可能会遇到危险。一名老师可以监督其正前方长 10m,宽3m 的区域。第一阶段问题: 如果你是该园的园长,如何调度现有的老师,才能最大限度的保证孩子的安全?原创 2014-04-21 20:44:22 · 1077 阅读 · 0 评论 -
算法之递归,迭代,动态规划,分冶
递归和迭代的本质在于,递归不需要知道大的问题的处理细节,它直接分解为小规模的问题,只关注小问题的求解和小问题如何合并这两个问题。为了求 Qn ,先求 Qn-1;为了求 Qn-1 要先求 Qn-2;......如此,必须先求 Q1 ,逐层往上求解,直接求出 Qn;因此求解的步骤如下:Q1 -> Q2 -> Q3 -> Q4 ........ -> Qn而迭代的本质在于,它关注大问题的处原创 2014-07-17 15:21:26 · 1063 阅读 · 0 评论 -
字母组合(不定长)
问题:有一个长度为 nLength 的字符串 S,不考虑 S 里面有相同的字符,将 S 中出现的字符组合成长度为 nLength 的字符串,打印出所有的组合字符串(包括原串)。原创 2014-07-17 19:14:00 · 702 阅读 · 0 评论 -
八皇后
八皇后问题是大一 C 语言课本上的一个问题,原创 2014-07-17 21:41:39 · 830 阅读 · 0 评论 -
字母排列(定长)
问题:有一个长度为 nLength 的字符串,l原创 2014-07-15 14:12:08 · 594 阅读 · 0 评论 -
不用 +,-,*,/四则运算实现加法
问题:不用基本四则运算 + - * / 实现加法运算。最容易想到的一种办法(也就j)原创 2014-07-18 22:56:36 · 907 阅读 · 0 评论 -
顺时针方向打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:1 2 3 45 6 7 89 10 11 1213原创 2014-07-19 16:40:54 · 706 阅读 · 0 评论 -
深入剖析 kmp 算法
大一学过一个字符串子串匹配算法,叫 KMP 算法,原创 2014-07-19 22:51:27 · 660 阅读 · 0 评论 -
Bloom filter(布隆过滤器)
问题:假设要你写一个网络蜘蛛(web crawler)。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了避免形成“环”,就需要知道蜘蛛已经访问过那些URL。给一个URL,怎样知道蜘蛛是否已经访问过呢?稍微想想,就会有如下几种方案:1. 将访问过的URL保存到数据库。2. 用HashSet将访问过的URL保存起来。那只需接近O(1)的代价就可以查到一个U原创 2014-07-22 10:43:40 · 686 阅读 · 0 评论 -
二分查找的边界问题
考虑一个问题:给定数组,A,原创 2014-07-25 12:48:06 · 919 阅读 · 0 评论 -
oj
// simpleCount.cpp : 定义控制台应用程序的入口点。//#include #include #include //#include #define MAX_INPUT_SIZE 256#define JIA '+'#define CHEN '*'char input[MAX_INPUT_SIZE] = {0};void myStrcpy(c原创 2014-07-26 11:38:57 · 609 阅读 · 0 评论 -
数组中最出现一次的元素
问题:给定一个数组 a0,a1,a2,...an ,其中只有两个元素出现一次,其它的元素都出现两次,找出这两个元素是多少。要求时间复杂度为 n,空间复杂度为 1。这个问题可以快速排序(就地排序,不用额外空间)再遍历。但这样的时间复杂度为 n*lgn,不满足要求。或者可以使用某种哈希结构用来记录每个元素出现的情况,最后遍历。但这样做需要额外的空间,也不满足要求。那么,我们只能另外想办法了。问原创 2014-07-13 19:15:12 · 640 阅读 · 0 评论 -
二叉树中寻找共同节点的最低公共祖先节点
线性时间复杂度和 O(1)空间复杂度求二叉树中两个节点的最低公共祖先节点。原创 2014-08-03 13:44:22 · 1350 阅读 · 0 评论 -
异或树
1.给定一棵有 N 个节点的树,定义两点之间的异或距离为这两个点之间的路径上的边的异或各,uk原创 2014-07-11 21:23:38 · 2312 阅读 · 0 评论 -
树中第 K 远节点
有这样一个问题,给定一棵 N 个节点的树,对于每个节点 u,r原创 2014-07-13 11:48:00 · 729 阅读 · 0 评论 -
判断是不是平衡二叉树
问题:给出一棵二叉树,判断它是不是二叉树。原创 2014-07-14 19:46:51 · 500 阅读 · 0 评论 -
数组连续元素之和最大
问题:给定一个数组,a0,a2原创 2014-07-13 15:47:44 · 1023 阅读 · 0 评论 -
醉汉看守
醉汉看守是这样的一个问题:有N个上了锁的牢记。看守要喝N杯威士忌,每喝一杯他就执行一个这样的操作:按规则 R 遍历所有的牢房,如果门是开着的就锁上,如果门是锁着的就打开。遍历规则 R 是:喝第 i 杯威士忌时,仅遍历 i , 2*i , 3 * i , .... 牢房。问,在他喝完N杯威士忌后,有多少个牢房是开着的?模拟这个过程就是,第一次喝酒后,所有牢房都开了;第二次喝酒后,2,4,原创 2013-12-19 23:08:05 · 653 阅读 · 0 评论