C/C++ String类用法与心得

String是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦

阅读剩余部分

Set(STL)用法与心得

std::set 是一种包含已排序对象的关联容器,含有 Key 类型对象的已排序集。用比较函数 Compare进行排序。搜索、移除和插入拥有对数复杂度,set通常以红黑树实现。

阅读剩余部分

Hexo主题maupassant目录优化解决方案

j"优化目录显示的整个探索过程断断续续花费了我一些时间,写下这篇文章记录下这个工作的过程,并不复杂,但是有值得以后学习的地方。"

阅读剩余部分

Vector(STL)用法与心得

Vector 是C++标准程序库中的一个类,可视为会自动扩展容量的数组,以循序(Sequential)的方式维护变量集合。vector的特色有支持随机存取,在集合尾端增删元素很快,但是在集合中间增删元素比较费时。vector是C++标准程序库中的众多容器(container)之一。 vector以模板(泛型)方式实现,可以保存任意类型的变量,包括用户自定义的数据类型,例如:它可以是放置整数(int)类型的 vector、也可以是放置字符串(string)类型的 vector、或者放置用户自定类别(user-defined class)的 vector。

阅读剩余部分

Map(STL)用法与心得

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。
这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。

阅读剩余部分

【动态规划-最大连续子序列】HDU 1003 Max Sum

求一段数列的最大连续子序列和,然后让你输出三个数字,

分别是该段数列的最大连续子序列和的值,最大连续子序列第一个数的下标(下标从1开始),最大连续子序列最后一个数的下标。

阅读剩余部分

【动态规划-多重背包】HDU 2844 Coins

n种硬币,每个硬币的值ai,有ci个,求能组成多少个不大于m的不同的金额。

阅读剩余部分

【动态规划-完全背包】HDU 2159 FATE

最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。

久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。

现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,

每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。

当忍耐度降到0或者0以下时,xhd就不会玩这游戏。

xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗?

阅读剩余部分

【动态规划-0-1背包】HDU 2639 Bone Collector II

给定背包容量,骨头的个数和每个骨头的价值,这次不是求在背包容量允许的情况下,最多装的价值,而是求在背包容量内,可以装的第k大价值,如果没有第k个最大值,那么输出0

输入包括多组样例,第一行输入一个T,样例的个数,接下来每个样例都有三行,第一行包括三个整数,N,V,K,分别代表骨头的个数,背包的容量,我们需要输出的第K个最大值,

第二行包括N个数,分别代表骨头的数量和接下来一行有N个数,分别表示每种骨头的价值。

输出第K个最大价值,每个样例输出一行

阅读剩余部分

【动态规划-0-1背包】HDU 2602 Bone Collector

一位骨头收集者有一个体积为V的背包,不同的骨头有不同的价值和体积,现在考虑到每块骨头的价值及体积,计算出能收集的骨头最大的价值。

阅读剩余部分