摘要: 转自:http://glatue.com/category/basic-knowledge/ 场景 如果一个类会被作为基类,那么基类的析构函数最好声明为虚函数。 原因是为了避免下面这样的操作,造成派生类的析构函数不能被调用。 Base *d = new Drived(); delete d; //如 阅读全文
posted @ 2017-03-12 16:13 demianzhang 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 图的存储主要有邻接矩阵与邻接表两种写法,其中邻接表多采用vector<Edge> edge[N]方式模拟单链表简化存储。 struct Edge { int nextNode;//下一个节点编号 int cost;//该边权重 }; vector<Edge> edge[N];//为每个节点都模拟一个 阅读全文
posted @ 2017-03-12 14:33 demianzhang 阅读(780) 评论(0) 推荐(0) 编辑
摘要: hihocoder #1343:题目 解释:一个学习小组,一共有N个学员,一个主管。每个学员都有自己的导师(一个或者多个),导师可以是其他学员也可以是主管。每周学员都要把自己的学习报告和收到的报告提交给自己的导师,这个团队设计很合理,没有回环(投递出去的报告不会回到自己手中),并且所有的报告最终都会 阅读全文
posted @ 2017-03-12 00:31 demianzhang 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 2. copy.deepcopy 深拷贝 拷贝对象及其子对象程序: import copy a = [1, 2, 3, 4, 阅读全文
posted @ 2017-03-11 00:26 demianzhang 阅读(2491) 评论(0) 推荐(0) 编辑
摘要: hihocoder 1341 解释:这道题题目还是比较容易理解,就是根据输入的若干个不等式,校验后面输入的数据是否都满足前面的不等式,满足就输出Yes,只要有一个不满足就输出No。如“A<B<=E,3<=E<5”这个两个关系式,对于输入A=1,B=2,E=3肯定满足,因为1<2<=3,3<=3<5。 阅读全文
posted @ 2017-03-11 00:08 demianzhang 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 转自 http://www.jianshu.com/p/e37495f72cf6 hihocoder 1342 解释:题目描述了一种用ASCII码绘制的满二叉树,然后将树的根设置在一个特殊坐标轴的原点(0,0),坐标轴x向下为正向,y向右是正向。树的每个树枝与节点都占用1*1的大小。现在需要求在坐标 阅读全文
posted @ 2017-03-10 23:49 demianzhang 阅读(401) 评论(0) 推荐(0) 编辑
摘要: https://community.topcoder.com/stat?c=problem_statement&pm=1918&rd=5006拓扑排序,每次选择最大的就好了 #include <stdio.h> #include <iostream> #include <string.h> #inc 阅读全文
posted @ 2017-02-12 21:47 demianzhang 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题意: 就是说给你一些数,然后要求你使用这些数字组成2个数,然后求他们的差值最小。 思路: 我用的双重DFS做的,速度还比较快,其中有一个很重要的剪枝,若当前搜索的第二个数后面全部补零与第一个数所产生的差值比当前所搜索到的结果还要大,那么就直接返回。这个剪枝就是超时与几十MS的差距 注意一点就是可能 阅读全文
posted @ 2016-12-15 15:51 demianzhang 阅读(326) 评论(0) 推荐(0) 编辑
摘要: From: AOJ 0121 思路:与前几题的bfs不同,这次的bfs没有明确的移动对象,看似任意一个数都可以当成对象移动。这时我们只需要抓住一个格子就行,比如我们把0作为移动对象,那么0在地图中漫游所有的格子得到的肯定就是问题的解空间。由于题目的输入是多个case,如果对每个case都运行一遍bf 阅读全文
posted @ 2016-12-12 20:12 demianzhang 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 题意: 把手臂都各自看成一个向量,则机械手的位置正好是手臂向量之和。旋转某个关节,其实就是把关节到机械手之间的手臂向量统统旋转。 由于手臂很多,要每个向量做相同的旋转操作很费时间。这时就可以想到用线段树的优势正是可以快速地成段更新。和一般的成段更新题目没什么差别,只是通常成段替换、或者成段增加。这时 阅读全文
posted @ 2016-12-12 15:12 demianzhang 阅读(514) 评论(0) 推荐(0) 编辑