自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

This is bill的专属博客

blog做为个人笔记使用,转载如果未贴地址,原作者看到可以联系我,我会将您的地址附上

  • 博客(18)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

原创 STL容器删除的正确打开方式

在应用中,我们通常不可避免地要对容器中的某些特定元素进行删除操作。这看起来并不是什么困难的问题。我们先写一个循环来迭代容器中的元素,如果迭代元素是要删除的元素,则删除之。代码如下所示(错误示范):vector<int> intContainer; for(vector<int>::iterator is = intContainer.begin(); it != intContainer.end(

2016-04-30 10:08:32 1637

原创 从一个logger引发的lib和dll探讨

一. 问题来由项目写了个logger,本来是代码的,大家单独包含都可以使用,但是后来项目整合,每个人的部分打成lib,而前端将logger打包一起编译成lib,后台按道理应该是不用包含 .cpp 文件也可以用到logger,因为如果后台也包含并编译,应该会和前端的编译单元中的 logger 重定义。但是奇怪的是,非但不重定义,反而这边获取不到 io 流 (流是静态变量),匪夷所思,最后是采用命名空

2016-04-29 00:54:38 5989 7

原创 个人编程规范(不断更新)

一、写在前面总结给自己看的规范,如果能给大家借鉴当然更好~~二、变量命名(1)成员变量以 m_ 开头,之后采用大驼峰法命名,如:class Test {public: ... ... int m_Name;}(2)局部变量采用小驼峰法命名,如:int solve() { int localModuleName; ... ...}(3)函数参数采用短横线连接,如:

2016-04-22 09:42:41 1350 2

原创 c++之引用的本质

引用变量是c++引入的重要机制。错误观念:引用本质只是别名,在符号表中ri和i对应于相同的变量地址int i=5;0100437E mov dword ptr [i],5 int &ri=i;01004385 lea eax,[i] 01004388 mov dword ptr [ri],eax ri=8;010

2016-04-18 19:34:35 1995

原创 vs c++内存泄露检测【模板】

一、浅谈内存泄露wikipedia中这样定义内存泄漏: 在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。在以下情況,内存泄漏导致较严重的后果:(1)程序运行后置之不理,并且随着时间的流失消耗越来越多的内存(比如服务器

2016-04-18 16:50:59 1357

转载 C/C++内存泄漏检测

“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一

2016-04-18 16:35:55 1165

转载 VS2013常用快捷键

VS2013常用快捷键: 1.回到上一个光标位置/前进到下一个光标位置 1)回到上一个光标位置:使用组合键“Ctrl + -”; 2)前进到下一个光标位置:“Ctrl + Shift + - ”。 2.复制/剪切/删除整行代码 1)如果你想复制一整行代码,只需将光标移至该行,再使用组合键“Ctrl+C”来完成复制操作,而无需选择整行。 2)如果你想剪切一

2016-04-11 12:55:12 900

原创 最大子段和【模板】

最简单的dp,甚至都不用dp数组就可以实现,一个tmp和一个max变量搞定#define MAXN 1002int num[MAXN];int whMaxSub(int a[],int len) { int tmp = INT_MIN; int subMax = INT_MIN; for (int i=0;i<len;++i) { if(tmp<0)

2016-04-10 18:11:37 853

原创 编译单元

当一个c或cpp文件在编译时,预处理器首先递归包含头文件,形成一个含有所有 必要信息的单个源文件,这个源文件就是一个编译单元。这个编译单元会被编译成为一个与cpp 文件名同名的目标文件(.o或是.obj) 。连接程序把不同编译单元中产生的符号联系起来,构成一个可执行程序。 可以把它理解为:#include完头文件的内容后(即将头文件的内容粘贴到cpp中之后)的cpp文件就是编译单元。简单说,一个编

2016-04-08 16:29:01 1714

原创 403 Forbidden

一、题目大意403 Forbidden 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi runs a web server. Sometimes he has to deny access from a certain set of malicious IP addresses while his friends are still all

2016-04-06 22:10:15 1142

原创 Font Size

一、题目大意时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Steven loves reading book on his phone. The book he reads now consists of N paragraphs and the i-th paragraph contains ai characters.Steven wants to mak

2016-04-06 22:07:11 1104

原创 回文子串(模板)Manacher O(n)算法

一、问题描述回文子串和回文子序列不同: 子串,一定要连续 子序列,不一定连续其实最长回文子串是可以转换成LCS来做的,具体方法就是: 将原串生成反向串,然后用dp求原串和反向串的LCS但是这样缺点也很明显的是O(n*n)的复杂度,即使优化到:滚动数组+下标找反向串,也不能从根本上解决这个算法的低效。如果想在 O(n) 时间内解决回文子串问题呢?答案就是Manacher算法,用一句话

2016-04-06 16:44:55 1029

原创 poj 3974 最长回文子串

一、题目大意一道裸的最长回文子串题目,既然是子串,就是说一定要连续,而不是子序列。本题目的难点在 Time Limit: 15000MS,要在15s内跑出 n=1000000 的结果,必然只能O(NlogN)的后缀数组的和O(N)的Manacher。当然这里我用的是Manacher算法,这个算法很巧妙,但是也比较局限,只能是最长回文子串能用。详细的算法思想见,Manacher算法模板。二、AC co

2016-04-06 16:31:39 1256

原创 poj 1159 最长公共子序列+滚动数组

一、题目大意一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。设原序列S的逆序列为S’ ,则这道题目的关键在于, 最少需要补充的字母数 = 原序列S的长度 — S和S’的最长公共子串长度于是看似一个回文字串,变成了LCS。但是关键是这个不能用裸的LCS搞定,因为5000的int二维数组,大约100M,肯定爆64M的内存。要用到滚动数组,思路如下: 因为

2016-04-05 00:13:35 1748

原创 char s[]="123456\0";

int main(){ //freopen("input.txt","r",stdin); char s[]="123456\0"; PRINT(sizeof(s)); PRINT(s); return 0;}输出: 8 123456内存中存放的是: 1 2 3 4 5 6 \0 \0

2016-04-04 23:50:40 2614

原创 最长公共子序列 LCS(模板) poj 1458

一、AC code(模板)#include <iostream>#include <stdio.h>#include <cstring>#include <vector>#include <cmath>#include <algorithm>#include <set>#include <cassert>#include <time.h>#include <queue>#incl

2016-04-04 13:44:40 1290

转载 vs解决无符号类型,安全开发生命周期(SDL)检查

前面在学习使用google的protobuf时在VS2012中一直无法编译编译通过,经过查找一些资料原来发现,并不是protobuf的问题,而是自己在使用VS2012时,没有完全了解VS2012的强大功能,和跟以前VS2010的差别,导致无法编译通过。现在就来说说为什么没有编译通过,在VS2012创建项目时,会有一个勾选项,叫做“安全开发生命周期(SDL)检查”,这个东西是微软

2016-04-04 10:56:54 9290 1

原创 蛇形数组

#include<iostream>#include<string.h>using namespace std;const int MAXN=500;int map[MAXN][MAXN];void printMap(int n) { for(int i=1;i<=n;++i){ for(int j=1;j<=n;++j) { cout<<map

2016-04-03 20:55:53 1177

趣配音简易Java网络爬虫 2.0版

趣配音简易Java网络爬虫 2.0版,修复了之前的一些小bug

2015-08-07

简易Java网络爬虫

简易Java网络爬虫,爬虫的目标是趣配音的web页面

2015-08-07

【免费】很小的UML画类图工具很好用

这是一个很好用的画类图的工具,对于学生来说很是好用,小而且很方便,画好类图后海可以直接转换为图片,当然,如果要转换为代码的话需要装插件,不过要是你需要转换成代码的话,不建议使用这个,用些visio之类的还行,然而作为画类图的工具,个人认为是我用到的最方便的,而且很小,也不需要安装

2015-08-03

画UML的超小好用工具 violet 免费下载

画UML的超小好用工具 violet 免费下载,网上有5分下载,但是我觉得好东西应该免费共享,下这个吧

2015-08-02

struts2+myeclipse 入门级例程

struts2+myeclipse 入门级例程 非常适合初学者学习struts

2014-03-31

《算法导论原书第3版》(高清正宗中文版).pdf

网上看到很多第三版的打着中文版的旗号,下载了却是英文原版,很坑爹(笔者中过很多枪,终于找到这一版,很清晰),为了改变这个现象,我把找到的中文版放上来,分数也比较中肯,大家多多下载支持支持我!!

2013-10-06

8051系列单片机C程序设计完全手册 part4

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part3

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part7

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part6

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part5

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part2

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part1

大家可以通过评论获得返还分数,由于CSDN的限制我把他分成了7分

2013-02-03

8051系列单片机C程序设计完全手册 清晰版.pdf

大家下载的分数(1分)可以通过评论来返还

2013-02-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除