RTTI算是C++的一大特性之一了,但也是一个不太好懂的特性。以前一直没有理解清楚RTTI。通过最近的学习,似乎掌握了一点皮毛,这里做一个小总结。首先是《C++编程思想》上的一个例子,由于缺头文件,我把容器改成了vector。
#include
#include
#include
#include
#include //for srand() and rand()
using nam...
分类:
编程语言 时间:
2015-03-03 23:46:24
阅读次数:
398
在C++中通过虚函数,模板编程和RTTI技术可以实现多态。关于虚函数和模板编程不再赘述,下面来介绍RTTI技术。
所谓RTTI技术,是Run Time Type Infomation的缩写,即运行时类型信息。它提供了运行时确定对象类型的方法。对于大多数人而言,可能都不知道在C++中还有RTTI。其实在C++编程中有时候不可避免地需要对对象类型进行动态判断,那么如何确定对象的动态类型呢? 答...
分类:
其他好文 时间:
2015-03-03 23:45:14
阅读次数:
173
时间是一项限制的因素。任何生产程序的产出量,都会受最稀有的资源的制约。而我们称之为“工作成就”的生产程序里,最稀有的资源就是时间。
做任何事情都少不了时间,时间是必须具备的一个条件。
时间也完全没有替代品。在一定范围内,某一资源缺少,可以另觅一种资源代替。但是没有任何东西可以替代已失去的时间。昨天的时间过去了,永远不再回来。所以,时间永远是最短缺的。
所以有效的时间管理对自己非常重要。...
分类:
其他好文 时间:
2015-03-03 23:45:03
阅读次数:
241
产品使命验证法假设你现在已经可以将你已建立好的对产品的直觉用来把“三个木桶模型“应用到你所处的行业中,你已经可以轻易(且正确地)把功能点归类到不同的木桶里面,那么你已经比大部分产品经理优秀了。但,这还不够。你要知道这个方法其实是存在一定的瑕疵的:...
分类:
其他好文 时间:
2015-03-03 23:44:42
阅读次数:
196
最近在看《STL源码剖析》,到了将iterator_traits的这一节(3.4)。实现它的代码倒是看得懂,但是对它的使用场景却是有点摸不着头脑。
让我先贴一段代码,然后我们再慢慢看。
#include
#include
using namespace std;
//第一种方式
template
struct iter_traits
{
typedef typename I...
分类:
其他好文 时间:
2015-03-03 23:44:48
阅读次数:
370
描述
http://www.lydsy.com/JudgeOnline/problem.php?id=3531 分析
刚拿到这个题时看到可以更改信仰的宗教, 也就是可以改变路径, 以为是动态树的题目(动态树不会), 后来发现都用的树链剖分, 为每个宗教建立一个线段树. 表示很神奇.
宗教数 <= 10^5, 每个宗教建立一个线段树, 线段树又一般开到四倍空间… 按我平...
分类:
其他好文 时间:
2015-03-03 23:44:55
阅读次数:
178
Given an array S of n integers, are there elements a, b, c in S such
that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.
Note:
Elements in a triplet (a,b,c) ...
分类:
其他好文 时间:
2015-03-03 23:42:48
阅读次数:
191
设计模式分类
1、创建型
2、结构型
3、行为型...
分类:
其他好文 时间:
2015-03-03 23:43:06
阅读次数:
126
创建型设计模式
1、单例模式
2、抽象工厂模式
3、工厂方法模式
4、原型模式
5、建造者模式...
分类:
其他好文 时间:
2015-03-03 23:42:45
阅读次数:
146
存储时期的自动与静态可以分别用关键字auto和static来显式声明,而链接的内部或外部分别由static和extern来修饰。但是对于不同作用域的变量,存在着默认情况。
由上表可知,只要是作用域为代码块的变量,其存储时期默认为自动,从而auto都是省略不写的;但是要使这样的变量具有静态存储时期,就必须显式的使用static声明。链接类型的话,都是空链接,不再区别内外。也可以看到,这类变量都是定义在代码块内部的,抛开寄存器变量这个异类,这类变量之间的唯一区别就在于有没有被static修饰(从而意味着是不是静...
分类:
编程语言 时间:
2015-03-03 23:43:13
阅读次数:
189
结构型设计模式
1、享元模式
2、外观模式
3、组合模式
4、桥梁模式
5、装饰模式
6、代理模式
7、适配器模式...
分类:
其他好文 时间:
2015-03-03 23:43:41
阅读次数:
171
公司的新游戏《我是大官人》马上就要大规模PR了,一切都已经准备就绪,这时测试部门却反馈了一个小问题,打开游戏的时候,偶尔会卡在启动界面,提示:正在连接服务器...然后就没反应了,这个问题发生的概率很低,大概3%左右,而且退出重新打开游戏就好了,“应该是网络不好造成的”,大家并没有太重视这个bug,但是老板不放心,“就算是网络问题,也不应该卡住,如果是新玩家碰到这种情况就直接流失了,这个问题得查一下...
分类:
Web程序 时间:
2015-03-03 23:43:48
阅读次数:
204
行为型设计模式
1、命令模式
2、责任链模式
3、模板方法模式
4、策略模式
5、迭代器模式
6、中介者模式
7、观察者模式
8、备忘录模式
9、解释器模式
10、状态模式
11、访问者模式...
分类:
其他好文 时间:
2015-03-03 23:41:41
阅读次数:
124
题目链接:
题意:
给定n q 表示有n个石头 q个询问
下面n个数字给出每个石头的价值
下面n个数字给出每个石头的颜色(用1-n表示)
选出一个子序列使得序列的权值和最大(序列权值计算方式:当这个点的颜色和前面那个点颜色相同时 贡献 value * a, otherwise 贡献 value * b)
下面q行,每行给出 a 和 b的值。
思路:
首先求dp方程 dp[i]表示颜...
分类:
其他好文 时间:
2015-03-03 23:43:09
阅读次数:
194
设计模式相关知识
1、设计模式是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结
2、设计模式起源于建筑工程设计
3、目前有23种设计模式,分为3大类型
4、设计模式的要素有模式名称、问题、已知的应用、推理、末态环境、举例、效果、解决方案、环境或初始环境和其他有关模式
5、设计模式分为创建型、结构型和行为型三大类型...
分类:
其他好文 时间:
2015-03-03 23:39:55
阅读次数:
172
题目链接:点击打开链接
题意:
给定长度为n的一个字符串s。
构造长度也为n的字符串t。使得p(s,t)值最大,问有多少个不同的t
h(s,t) = 对应位置上字母相同的个数
ρ("AGC",?"CGT")?=?
h("AGC",?"CGT")?+?h("AGC",?"GTC")?+?h("AGC",?"TCG")?+?
h("GCA",?"CGT")?+?h("GC...
分类:
其他好文 时间:
2015-03-03 23:39:30
阅读次数:
228
题目链接:点击打开链接
题意:
给定n个点的树。
下面n-1行给出树
Q个询问。
每次询问 (u,v)问树上有多少个点到u点距离=到v点距离
思路:
首先这两个点的距离必须是偶数,若为奇数答案就是0
然后用lca找到中间节点即可。
trick : u==v ans = n
#include"cstdio"
#include"iostream"
#include"queue"
#...
分类:
其他好文 时间:
2015-03-03 23:42:20
阅读次数:
153