C++ <algorithm> 中比较冷门但实用的函数

总结一下 & lt;algorithm> 头文件中的常用函数。

每隔一段时间,我总能在 & lt;algorithm> 中发现一些神奇的函数,这些函数我之前基本上没有听说过,所以最近我阅读了一下 algorithm 头文件的相关文档,把那些很实用,但是之前没怎么听说过的函数简单的罗列一下。我主要阅读的文档来自 DevDocs 上的 algorithm 头文件 介绍,此外 Visual C++ 也有类似的文档供参考。

最常用的函数

1
2
3
void sort(RandomIt first, RandomIt last);                                   // 排序 
ForwardIt lower_bound(ForwardIt first, ForwardIt last, const T& value); // 求第一个大于等于
ForwardIt upper_bound(ForwardIt first, ForwardIt last, const T& value); // 求第一个大于

最近完成的一些算法题

一个多月没写博客了,赶紧填个坑。

kickstart
离上一篇博客居然已经过去一个多月啦,看来研究生还是要比本科忙多了,每天都有事情要做。最近呢,就是参加了昨天的 Google Kickstart Round G 2018,本来顺利做完了 2.5 题,做完的时候有 60 名左右,结果有个大数据犯了一个低级错误,结果一个大数据挂了,最后只有 100 多名!啊!好气啊!看了一下题解,发现方法和我自己实现的方法差挺多的,所以想简单讲一下我的算法。

阅读更多

优化 Hexo 博客的访问速度

使用 CDN 和对象存储 OSS 来优化博客的访问速度

由于我的整个博客部署在 GitHub Pages 上,从国内直接打开的访问速度是很慢的。过慢的访问速度会使得用户在访问网站的时候失去耐心,导致有些用户可能会直接关闭你的网站,这就会使得网站的用户留存率降低。说句题外话,这就是为什么很多网站在设计进度条的时候并没有反映网站的真实访问速度,而是先给你一个很快的加载动画,让会让你产生好像网站就要加载好的错觉,在一定程度上能增加用户的耐心。这种手段除了应用在微信的网页进度条上,还包括比如一些清理软件设计的清理系统进度条上,还有之前 Windows 7 在文件浏览器中的文件扫描进度条上等等 —— 好像说的有点远了。总之在这篇文章中,我会以我的 Hexo 博客为例,介绍一些优化网站访问速度的方法,这也是我在优化这个博客时使用的方法。

阅读更多

报社的故事

本文将通过一个故事带你了解 CDN

B 报纸是最近新发行的一种特殊的报纸、B 报纸会在每周定期发布,并且不对外出售。在 B 报纸刚刚发行的时候由于读者太少,所以只有在 W 报社才能看到。此外,报社每次只会印刷少量的 B 报纸供阅览。小 U 平时很喜欢看 B 报纸,因此他会经常专门跑去报社看报纸。

在读者比较少的时候,这种办法相对奏效,但是当观看 B 报纸的人越来越多的时候,问题就出现了。第一,小 U 离报社很远,每次要看 B 报纸的时候,小 U 都要花好长时间的路程才能到报社。第二,由于看 B 报纸的人越来越多,有时印刷好的所有 B 报纸都已经被其他的用户拿去看了,小 U 这个时候必须要排队,并且等到有人看完之后才能看 B 报纸。

阅读更多

使用开源评论系统 isso

一个开源的评论系统,可惜已经不太维护了,于是我进行了一些简单的修改,并做好了 Docker 镜像。

我这两天还在寻找合适的评论系统,主要是因为当前可用的评论系统都不能满足基本的要求。我的基本要求其实也就两点,第一,可以通过邮箱直接评论,不需要注册。第二,在有人回复的时候可以发送邮件进行通知。同时,评论者被回复时也可以收到相应的通知。上一篇 中提到的 Valine 勉强支持,可惜 Valine 在安全性上存在很大的问题。Livere 总的来说还不错,但缺乏邮件提醒功能。最终,我还是使用了一个开源评论系统 isso,并进行了一部分的调整,部署在了我自己的服务器上。我进行了一些修改,并已经做好了 Docker 镜像,可供直接拉取使用。

阅读更多

配置 Hexo 时遇到的一些问题

前几天还在说,使用 Hexo 搭建博客比较顺利,没什么大坑,后来就接二连三的遇到各种问题。

其实这些问题也不全是 Hexo 的原因,这些问题在搭建一个静态博客的时候都有可能遇到,不过还是能拿来讲讲,以供参考。Hexo 的配置确实非常容易,这一点不可否认。只需要安装好 Node.js 以及其他必要的依赖,按照 官网提供的文档 一步一步做就行了。我把博客部署在 GitHub Pages 上,这样就省去了自己搭建服务器的成本,为了加快访问 GitHub 的速度,我配置了 CDN 和对象存储的优化,这在后续的博客中也会慢慢介绍。

阅读更多

第一篇

心血来潮使用 Hexo 在 GitHub 上部署了一个 Blog,总的来说还是挺容易的,没什么大坑。

记得搭博客最早在高三的时候就试过了,那个时候是在新浪云 (SAE) 上面搭了一个 WordPress,其实现在看来感觉 WordPress 过于臃肿,不适合做随便写写的那种博客。但那个时候 WordPress 的宣传语好像是,不用敲一行代码就能搭一个个人博客。Emmmm,要知道那个时候我才刚开始写 C 和 C++,成天面对黑底白字的控制台的时候突然告诉我,现在可以一句代码都不写,直接搭一个个人的博客了,还是很有吸引力的。

阅读更多