5 LaoJiu_

尚未进行身份认证

我要认证

不再维护,请访问 www.ethsonliu.com

等级
TA的排名 4k+

ZOJ 3613

https://cn.vjudge.net/problem/ZOJ-3613题意:n 个星球,每个星球 p 个工厂,s 个资源,给出 m 条路及其代价,一个医院只能对应一个工厂,求出可以获得资源的最多工厂数及其对应的最低代价。分析:几乎是裸题了。有几个注意点:如果一个星球既有资源又有工厂,那么不需要建路,直接就可以用,但是用了以后这个星球的资源就没了,被占用了。最后枚举状态...

2018-08-02 19:11:28

HDU 3311

https://cn.vjudge.net/problem/HDU-3311题意:n 个和尚所住地各有一口井,另有 m 处也有口井,这 n + m 口井的挖掘需要花费,另外有 p 条路线连接这些井,问如何修路和挖掘使每个和尚都有水且总花费最小。分析:n + m 个点选 n 个点的最小生成树,但是要考虑到有可能出现这样总花费最小的情况:n 个和尚就在自己的所在地挖井,不造路,此时是不...

2018-08-02 19:10:57

POJ 3123

https://cn.vjudge.net/problem/POJ-3123题意:n 个城市,m 条路,给定八个点(也就是四对),使每队点连通且总权和最小。分析:dp[i][j] 表示 i 状态下以 j 为起点的最小总权和。#include <iostream>#include <cstdio>#include <cstdlib>#...

2018-08-02 19:10:25

HDU 4085

https://cn.vjudge.net/problem/HDU-4085题意:给你 n 房子, m 条路, k 户人家,每条路有一个权值,表示修复这条边需要的代价,起初 k 户人家依次住在第 1个,第 2 个,,,第 k 个房子里,现要求让着前 k 个房子和后 k 个房子一一对应连通建路,问最小的代价是多少。分析:可以先简单看成一个斯坦纳树问题:n 个点选给定的 2 * k...

2018-08-02 19:07:07

STL空间配置器的union obj

最近学习《STL源码剖析》一书,看到SGI的第二级配置器时,空闲内存链表使用了一个神奇的联合体(union)结构,代码如下:[cpp] view plain copy union obj{      union obj * free_list_link;      char client_data[1]; /* The client sees this.*/  };  书中描述为这样:由于uni

2017-08-26 14:33:11

trivial destructor

项目中有一些地方为了得到较快的速度,使用了无需释放的简易内存分配器:先一次分配一大块内存,然后每次需要内存的时候从这块内存里面直接递增分配合适大小的内存块。当使用完这些内存了以后,不做显式的释放,直到整个大任务结束了以后,才一次释放那整块内存。这样做优点在于内存分配非常快速,仅仅递增指针即可没有释放的开销(除了整块释放)不会有碎片这种做法是很多引擎的常见选择。但是也有一个很大的缺陷

2017-08-26 13:21:41

弱类型、强类型、动态类型、静态类型语言

动态语言和静态语言(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。(2)静态类型语言:静态类型语言与动态类

2017-08-04 22:19:24

C++静态库与动态库

C++静态库与动态库这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非

2017-07-31 11:40:23

VS2017编译boost库

第一步:到官网http://www.boost.org/下载boost库,最好下载最新版第二步:解压到D盘(其他盘也可),这里以boost1.63版为例第三步:打开VS2017开发人员命令提示,英文名称Developer Command Prompt VS for 2017第四步:输入命令d:  ,进入D盘,再输入命令cd D:\boos

2017-07-13 11:25:45

Boost1.62.0 + VS2015 默认编译与配置

一、介绍、下载与安装Boost也是一个C++库,同样也是由C++标准委员会发起并维护,与C++标准库不同的是,它开源,而且比标准库内容更强大。Boost是标准库的后备军,C++标准库里很多内容都是在Boost千锤百炼之后添加的。1、下载下载页面(包含了所有Boost for VS 的版本):传送门Boost1.62.0 for VS2015(64bit):传送门

2017-07-13 10:40:06

C语言学习之指针的右左法则

C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标 准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start reading

2017-06-21 18:07:32

编译器与解释器区别

http://huang-jerryc.com/2016/11/20/do-you-konw-the-different-between-compiler-and-interpreter/http://www.cnblogs.com/sword03/archive/2010/06/27/1766147.html

2017-06-13 10:56:44

shared_ptr智能指针源码剖析

前几天有个人问了我一个问题: 如何将一个智能指针作为函数的返回值传递出来。当时这个问题一下子把我问倒了,后来经人提醒有一个叫shared_ptr的智能指针可以解决这个问题。将shared_ptr作为函数返回值的代码是这样的:#include <tr1/memory>#include <stdio.h>using std::tr1::shared_ptr;shared_ptr<int> Retur

2017-06-09 16:23:53

exit和return

Terminate calling processTerminates the process normally, performing the regular cleanup for terminating programs.Normal program termination performs the following (in the same order):Object

2017-06-09 08:50:03

poj1287

2017-06-06 09:20:33

poj2387

2017-06-06 09:19:58

c/c++ 函数指针的用法

c语言函数指针的定义形式:返回类型 (*函数指针名称)(参数类型,参数类型,参数类型,…);c++函数指针的定义形式:返回类型 (类名称::*函数成员名称)(参数类型,参数类型,参数类型,….);    以下代码编译环境:codeblocks with gcc in win 7c语言函数指针使用举例: #include #include i

2017-06-02 14:39:05

将基类指针赋给派生类的问题

将派生类地址赋给基类指针,也就是基类指针指派生类对象,也就是我们平时说的多态但是反过来的时候,必须经过强制类型转换才可以编译通过,下来直接代码:#includeusingnamespacestd;class Base{public:virtual void print(){ cout<<"base"<<endl;}};class Derive

2017-05-31 18:57:20

static_cast和reinterpret_cast

该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。②用于基本数据类型之间的转换,如把int转换成ch

2017-05-31 15:03:42

实现一个无法被继承的C++类

一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有,使得这个类的构造函数对子类不可见,那么这个类也就不能继承了。但是,这引出一个问题,客户程序岂不是也无法实例化这个类了?OK,让我们参考一下Singleton模式,用一个static函数来帮助创建这个类的实例,问题就解决了!class CPa

2017-05-30 19:09:22

查看更多

勋章 我的勋章
    暂无奖章