MIT 18.408 概率可验证证明 学习笔记 序

本系列是 MIT 18.408 Topics in Theoretical Computer Science: Probabilistically Checkable Proofs Fall 2022 的学习笔记。该课程内容也被用于北京理工大学 2023 春季学期的组合数学课程。

该系列全部内容均采用 CC BY-NC-SA 4.0 协议进行许可。

继续阅读MIT 18.408 概率可验证证明 学习笔记 序

ICPC EC Final 2022 游记

Day -1

想着早点到上海,留出点时间随机游走,于是订了足够早出发(十点整)的 G7 次的车票。结果就是不得不八点多出门赶车。

运气不太好,没赶上早高峰房山线跨线进 9 号线的车,换乘次数 +1。

到北京南站的时候离开车差不多半个小时,过了安检上楼之后刚好赶上开始检票,冗余时间感觉不太充足。

上车的人是真的多,怪不得京沪高铁能赚钱()

订的票很不幸地是 01 排,结果就是面前没有座位了,对于我们这样的三人连座来说,由于过道在车厢中间位置,桌板的大小缩了不少,坐在靠过道的我为了用上桌板还得往窗户那边凑过去。

虹桥 2 号航站楼的伪虚拟换乘挺有意思。名义上是虚拟换乘车站,但是可以在中间两个轨道停车的时候通过穿过车厢的方式实现换乘。

列车在该站台停靠时,将同时打开两侧车门,乘客可以借此穿到另外一边的站台实现换乘。

在同济的高中好友邀我去看花,然而发现四平路离宝山并不算近,再加上身心颇为疲惫,只得婉拒,颇为遗憾。

晚上我校的几个队(可惜 ddl 不在)找了个上海菜馆恰饭。菜馆是对着 知乎上的一个清单 找的,味道确实不错,很符合我对上海菜的想象!

继续阅读ICPC EC Final 2022 游记

谈谈 Windows 与 Linux 双系统环境下的时间不同步问题

在 Windows 和 Linux 两个操作系统间切换时,会产生时间不同步的问题——从 Windows 系统切换到 Linux 系统时,时间会向后推 8 小时;而当从 Linux 系统切换回 Windows 系统的时候,时间又向前推了 8 小时。

继续阅读谈谈 Windows 与 Linux 双系统环境下的时间不同步问题

2022 上半年总结

摸鱼学期

虽然学期内每天都在为大物而忧心,不过这学期最后还是有惊无险地结束了。嘛,一部分原因是期末线上考试,改成了全选择题。

现在看来这学期比上学期摸的不是一点两点的厉害(雀力在这半年里大幅提升了),在这样的情况下还能避免在多条战线上的全面溃败也是一大奇迹。

继续阅读2022 上半年总结

北中轴线游记

缘起

“十一假期去哪里呢?”

“首先排除故宫这样的热门景点吧,一来是门票早早就被抢光了,二来宫殿之类的,看了一个也就相当于看了十个,感觉也没有什么意思。”

“确实。其实室内的景点都存在这样的问题,主要是受疫情影响,博物馆之类的都下调了参观人数限制,再加上假期本来人就多,很难抢到一张票。所以你说我们去哪里比较好呢?”

“不如考虑亲近自然。比如奥林匹克森林公园。游览完森林公园后我们再往南走,看看鸟巢和水立方。除了奥运遗产之外,沿途其实还有很多其他景点等着我们呢。”

“这个路线挺不错。我突然意识到一点,我们走的这条路线刚好是北京的北中轴线哎。准确来说,是从老城延伸出来的奥运中轴线。”

“是的!这条路线挺有意义,我已经迫不及待想要尝试这条路线了!”

于是,一场从中轴线最北端开始的旅行,在交流中逐渐成型。

继续阅读北中轴线游记

浅谈函数重载规则

引子

昨天在某个群看到了这样一段代码:

#include <iostream>
#include <string>
using namespace std;
void foo(string str) { cout << "string" << endl; }
void foo(bool b) { cout << "bool" << endl; }
void foo(char c) { cout << "char" << endl; }

int main() {
  foo("hello, world");
  return 0;
}

现在的问题是,这段程序的输出是什么?或者说,foo("hello, world"); 调用的究竟是哪个函数?

要解决这个问题,我们就要详细讨论一下函数重载的规则。

继续阅读浅谈函数重载规则