- 博客(21)
- 资源 (6)
- 收藏
- 关注
原创 深入理解二分查找(二、二分答案)
二分答案 如果已知候选答案的范围[min,max],有时候我们不必通过计算得到答案,只需在此范围内应用“二分”的过程,逐渐靠近答案(最后,得到答案)!一、何时可以使用“二分答案” 不是任何题目都适合使用“二分答案”的,我Sam观察到一般有以下的一些特征: A. 候选答案必须是离散的,且已知答案的范围是:[最小值min, 最大值max](连续区间...
2012-04-29 16:24:51 348
原创 假如P=NP,世界将会怎样?
转载自这里:http://www.matrix67.com/blog/archives/2552 在计算机复杂度理论中,P问题指的是能够在多项式的时间里得到解决的问题,NP问题指的是能够在多项式的时间里验证一个解是否正确的问题。虽然人们大多相信P问题不等于NP问题,但人们目前既不能证明它,也不能推翻它。P是否等于NP是计算机科学领域中最突出的问题,在千禧年七大难题中排在首位...
2012-04-25 18:15:59 792
原创 P问题、NP问题和NPC问题
这篇文章转自这里:http://www.matrix67.com/blog/archives/105 以前我老老实实看过算法导论上关于NP问题的那一节,当时细节都弄得很清楚了,但是时隔2、3年就彻底忘完了,今天看到这篇文章,觉得真正从感性上认识了P问题、NP问题、NPC问题,分享一下。并附上我自己对本文的总结,以便以后略略一翻就知道文章思路:) 一、总结 ...
2012-04-25 16:36:50 98
原创 黑匣子多项式
有一个黑匣子,黑匣子里有一个关于 x 的多项式 p(x) 。我们不知道它有多少项,但已知所有的系数都是正整数。每一次,你可以给黑匣子输入一个整数,黑匣子将返回把这个整数代入多项式后的值。有一个不可思议的结论:你可以在两步之内还原出整个多项式!这是如何做到的呢? 首先,输入 1 ,于是便得到整个多项式的所有系数之和。不妨把这个系数和记作 S 。下一步,输入 S + 1 ,于是黑匣子返...
2012-04-24 16:24:37 250
原创 模板和泛型编程???从P269继续
参考书<C++ By Dissection> In C++, there are 3 different ways toemploy generic coding techniques: void*pointers, Templates, Inheritance. ...
2012-04-22 09:58:34 81
原创 命名空间(二)
接上一篇《命名空间(一)》,上一篇将的是基本的使用,本节我认为是比较细节的部分了。 五、无名的命名空间——替代全局静态变量/函数 以上介绍的是有名字的命名空间,C++还允许使用没有名字的命名空间,如在文件A中声明了以下的无名命名空间://命名空间没有名字namespace{ //定 义命名空间成员 void fun( ){ cout&...
2012-04-19 11:48:39 99
原创 命名空间(一)
一、 为什么需要命名空间(问题提出)——同一作用域中,相同名字发生冲突 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。 在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用...
2012-04-19 09:58:36 128
原创 回车符与换行符的起源
计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;...
2012-04-18 21:28:39 92
原创 RMQ(Range Minimum/Maximum Query)区间最值查询
一、RMQ问题描述 和 几种解题思路RMQ问题 (Range Minimum/Maximum Query),首先给出一个序列,然后不断询问某个区间内的最大值和最小值。显然,我们在回答所有询问之前,需要根据序列进行一定的预处理。 (1)最笨的算法显然是朴素的直接查询,回答每个问题是O(n)的。(2)一种算法是采用线段树,即在线段树的每个节点保存该区间的最大值与最小值,O(...
2012-04-18 20:47:14 157
原创 后缀数组
一、后缀数组 及其对应的名次数组举例:S=" B A C $ " , 后缀数组长度为n-1=3, 假定'$'<字符集Σ中的任意字符 1 2 3 41. 后缀数组SA=[4 2 1 3] , 对应所有后缀的一个字典序从小到大的序列SA[1]=4 --> 对应 "$"...
2012-04-16 09:49:48 104
原创 指针(二)、常量指针、指针常量、迭代器常量、常量迭代器
参见这里 ==> http://www.cnblogs.com/xfxsworld/archive/2008/01/30/1059303.html 常量指针与指针常量常量指针,就是指向常量的指针,关键字 const 出现在 * 左边,表示指针所指向的地址的内容是不可修改的,但指针自身可变。 指针常量,指针自身是一个常量,关键字 const 出现在 * 右边,表示指针自...
2012-04-12 22:33:49 324
原创 大整数运算(部分转载)
待补充:“浮点数高精度运算” 参见这里==>大整数四则运算各举例: http://www.cnblogs.com/vongang/archive/2011/08/17/2143303.html大整数出发还可以参考这里的解释:http://blog.sina.com.cn/s/blog_7393daaf0100sutp.html 当对很大的数(比如10...
2012-04-12 21:36:19 195
原创 C++虚函数表(转)
C++ 虚函数表解析 (陈皓http://blog.csdn.net/haoel) 在此之前推荐看两个资料:1. c++大学教材(蚂蚁书)介绍多态的那章,尤其是其中虚函数调用的一个图简直精辟得令人发指 2. http://m.baidu.com/bd_page_type=1/pu=sz%401320%5F1002%2Cusm%400%2Cta%40iphone%5F2%...
2012-04-11 08:50:32 128
原创 单向链表相关
单向链表是微软笔试常考的,参考这里:http://www.cnblogs.com/tdyizhen1314/archive/2012/04/03/2431124.html #include<iostream>using namespace std;struct node{ int data; struct node* next;...
2012-04-10 16:42:41 83
原创 关键路径(AOE)
前面这段话是引用别人的,后面代码是自己写的,有待完善: 求关键路径的关键如下:1、每个顶点所代表的事件的最早和最迟发生时间2、每条弧所代表的活动的最早和最迟开始时间事件的最早发生时间:ve[源点]=0,ve[k]=MAX{ve[j]+dut(<j,k>)},即在k前面的事件的最早发生时间加上那些事件到k所需要的时间所得的值中取最大值。事件的最迟发生时间:vl[汇...
2012-04-10 08:05:57 243
原创 关于extern声明全局变量(转)
这篇文章主要讲解一下extern声明全局变量的一些用法,虽然知识点比较浅显,但是却容易犯错,仅与那些初学C++的朋友分享,希望没有让大牛们见笑。 一、“声明” 和 “全局变量”extern最基本的用法是声明全局变量的。这里需要注意两点,一是“声明”,二是“全局变量”;我们先来分析这两个概念。声明:声明和定义是有区别的。声明不等于定义,声明只是指出了变量的名字,并没有为其分配存储...
2012-04-09 20:43:38 294
原创 static关键字
C++的static关键字作者:韩耀旭 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:...
2012-04-09 20:02:10 74
原创 POJ1014-Dividing-多重背包
本代码中的几个函数可以作为“0-1背包”、“完全背包” 和“多重背包”的模板: #include <iostream> #define INF 100000000 using namespace std; int f[240005]; //f[j]相当于f[i][j]: 考虑1...i个物品,恰好放到容量为j,所能达到的最大价值 int v; //背包...
2012-04-06 10:06:54 170
原创 POJ1252-Euro Efficiency-DP,完全背包(允许找零)
参考这里:允许找零应该怎么做: http://www.4ucode.com/Study/Topic/2119680实在不会看这里: http://hi.baidu.com/wy_erhu/blog/item/057fed168e02660d972b4331.html 我最初的代码是不考虑找零的完全背包:(代码)#include <stdio.h>#incl...
2012-04-04 20:54:26 106
原创 POJ3628-Bookshelf 2-DP,0-1背包
方法一:最朴素方法,不优化时间和空间空间和时间复杂度都是O(n*s),n为奶牛数目,s为奶牛高度之和 代码:照理说,空间复杂度超过限制,但是POJ居然通过了#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;int n; ...
2012-04-04 14:58:49 156
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人