cosmicAC's Blog

Some dying memory...

从vector迭代器的非法化谈起

好久没写博客了,然而真的没什么想写的,只好瞎水一篇了。 众所周知,如果一个std::vector的capacity()被改变了,所有迭代器都会被非法化。今天在LA群里有人谈到过这个问题,并且之前校内训练时也有人因为这个原因调试了很久。 这个“非法化”到底是什么意思呢?zh.cppreference.com中没有给出详细的解释。但是很容易猜测,原来的内存已经被释放了,访问已经被释放了的内...

cos的求和

\[\begin{aligned} \sum_{k=0}^{n}\cos{(kx)}&=\Re\left(\sum_{k=0}^{n}e^{ikx}\right) \\ &=\Re\left(\frac{1-e^{ix(n+1)}}{1-e^{ix}}\right) \\ &=\Re\left(\frac{1-\cos((n+1)x)-i\sin((n+1)x)}{1...

2020省选记

我的最后一次省选了。高一时写的省选记回顾:(Round 2和Round 1)。 Day -1 觉得这多半会是我人生中的最后一天OI训练了,据说是信心赛,然而貌似这个信心只有高一的大佬们收到了:他们全部理论AK,我却不会。 下午首先是准备会。xyx告诉了我们一点人生的经验。然后大家都回家了,机房里就只剩下几个人。我开了一局以撒,夏娃,白嫖成功了,最后获得了白猫头硫磺火。觉得 rp--。 ...

加密测试

密码123456。 Password: Submit 密文 不可见

Rust体验:编写n皇后

这辈子不想写第二个Rust程序了!(真香)

这几个月反复看见知乎等等各种地方很多人狂吹Rust,说这是将来可以取代C / C++的语言,我就忍不住好奇,去尝试了一下。结果令我相当的不爽,以后再也不写Rust了。 安装 apt大法好 sudo apt install rustc 吐槽 我曾经学过的语言中,Pascal让我感到严谨但冗长,C / C++是飞快却危险,Python是简洁优美却龟速,JavaScript是无任何限...

关于全局平衡二叉树等

我写这篇文章是因为前几天看到了一个知乎问题。我看到这篇文章的第一反应就是:你这个复杂度还不如全局平衡二叉树呢,而且看起来比全局平衡二叉树难写一万倍,真是没事找事。然而转念一想:全局平衡二叉树是怎么路径修改的?我还没有仔细考虑过这个问题呢!于是就具体实现了一下。 实现完之后,我发现我是在重新造轮子,第一篇提出这个数据结构的论文就提到了做法(虽然很不清晰)。 下面讲述了路径加常数/路径求最大...

C++20部分语法介绍

这篇文章姗姗来迟了。按照之前的惯例,我升级Ubuntu系统至20.04之后尝试了一下 C++20 的新语法。在g++-10和clang++-10中已经有了-std=c++20的编译选项,支持的 C++20 语法特性已经比一年前多了很多。现在我来由浅入深地总结一下自己觉得有用的内容。 编译环境:g++ 10.0.1;clang 10.0.0;Ubuntu 20.04 LTS。 参考资料:...

Ubuntu 18.04升级至20.04历程

前言 我已经使用了两年的Ubuntu 18.04 LTS,也升级到了18.04.4,也装了HWE(HardWare Enablement stacks),然而这并不能避免其他软件显得十分陈旧: python还停留在3.6,不符合Accesser运行的最低要求。 nodejs,以及GNOME Shell的gjs都版本较低,连BigInt(高精度)都不支持。 来自winehq...

对一些歌词的尝试解读:下

背景 这是对一些歌词的尝试解读:中的续集。内容是《与荒野》和《三旬》中的部分歌,合我口味的那部分。 《昨日的你》 知乎回答在此。我觉得这个回答写得很棒,超级想直接复制一份放在这里。可惜不能转载。 这首是唐映枫写的词。另一个知乎回答里面说,就像是唐映枫对他的寄语。作为曾经的合作伙伴和难得有过心灵相通的朋友,字字真切如初。是对自己在乎的人最好的祝愿与谆谆告劝。歌词写得相当美,而且比较好...

basic_string的优点

我一年多之前就开始用basic_string替代vector了。现在我打算详细地讲解一下std::basic_string<T>相比std::vector<T>的优越之处。 速度 参考n方过十万对比,可以看出basic_string以微弱优势快于vector。 语法糖 这个才是关键。首先,basic_string拥有vector拥有的几乎全部成员函数,比如说...