0%

\(\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor} \newcommand{\bmax}{ {b_\max} } \newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}\) 最近做 PE 的时候也顺便在玩 Rust。我在研究 Rust 编译出的 ASM 的时候,发现一段有趣的代码:

1
2
3
4
#[inline(never)]
fn opt_mod(x: u64) -> u64 {
x % 1000_000_007
}

编译出的 ASM 长这样:

1
2
3
4
5
6
7
8
9
playground::opt_mod:
movabsq $-8543223828751151131, %rcx
movq %rdi, %rax
mulq %rcx
shrq $29, %rdx
imulq $1000000007, %rdx, %rax
subq %rax, %rdi
movq %rdi, %rax
retq

我震惊的发现,这里面居然没有除法、取模?有点意思……

Read more »

自 17 年起,本科班上每年都会搞个聚会,称为 SIGYAO30(Special Interest Group Yao30),每次参加的人数十几二十人不等,聚会地点为:

  1. 2017 五月:日本(毕业旅行)
  2. 2018 十月:Boston
  3. 2019 七月:湾区
  4. 2020 六月:Zoom
  5. 2020 十一月:Zoom

每次聚会当然少不了组织者的无私奉献。前几次我啥也没干,最近这两次倒是各写了一份朋友圈沙雕文案,这里就做一个小小的“官方”解读吧。当然我写的东西都是我记得的,自然会有很多别人觉得有趣的东西我忘记了,我们每次聚会的内容当然远远不止我记下的。

Read more »

前几天 ICLR ddl 可把我整了一顿。之前和同学聊天的时候聊到我的这个小博客,聊着聊着就又想写点东西了,但是后来又咕咕咕了。这次趁着 ICLR 结束之前通了 GRIS,就随便聊点游戏吧……

Read more »

因为不知道起什么标题就只好叫做无题了。上一次和 donga 聊天,说我的流水账很有生活气息???然后我就来随便写写了。一顿操作猛如虎,一看字数只有五……想着要不要重新开一个,算了算了就这样吧 →_→

Anyway,我这次就写一些一点用也没有的知识 23333

Read more »

题目

前几天做作业,做到这么一个题:

现在有一个 6 面的公平骰子,每一面标号为 1 到 6,我们一直投这个骰子,直到出现 6 就停。Conditioned on 投出来的数都是偶数,期望要投多少次?

Read more »

记录一下最近这一段时间经历过的一些神奇的事…… 主要是三个东西同时牵扯到一起了,分别是毕业、签证和疫苗。如果只有任何一个的话都没什么问题,但是三个东西牵扯到一起了真是很蛋疼…… 接下来我就记一下最近发生的事情的流水账……

Read more »

……很久没更新了,随手更一发 →_→ 这次选取的题是 UyHiP 2016 Feb 的题,然而我并不会做。

Problem

给定一个 \(n\) 维的 0/1 cube,要求找若干个不过原点的超平面,使得这些超平面能够覆盖除了原点以外任意 \(\{0, 1\}^n\) 的整点。求至少要多少个超平面。

Read more »

@ehk 给了我两个很有趣的题目,感觉很不错哦。

Problem

出现次数最多的数

给定一个大小为 \(n+1\) 的数组,每个元素都是 \([1, n]\) 里面的整数,且只有一个数出现两次或以上,不一定所有的数都出现过。要求在 \(O(n)\) 时间 \(O(1)\) 空间内找出这个数,且不允许修改数组。

Peak

给定一个二维矩阵 \(A_{n \times m}\) ,保证:

  1. \(n, m \geq 3\)
  2. 每个元素均不相同;
  3. 对于 \(1 \leq i \leq n\)\(A_{i, 1} < A_{i, 2}, A_{i, m - 1} > A_{m,i }\)
  4. 对于 \(1 \leq j \leq m\)\(A_{1,j} < A_{2, j}, A_{n-1,j} > A_{n,j}\)

求一个点的坐标 \((x, y)\),使得 \(A_{x,y} > \max(A_{x - 1, y}, A_{x + 1, y}, A_{x, y - 1}, A_{x, y + 1})\)

要求时间复杂度 \(O(n+m)\) 空间复杂度 \(O(1)\) ,可以认为 \(A\) 是 black-box 访问。

Read more »

今天逛知乎的时候看到了一份计算 \(\pi\)代码。我试图跑了一下,发现其输出的 2400 位居然全部是对的。我试图学习了一下其中的姿势,感觉还是很神奇的。

int a=10000,b,c=8400,d,e,f[8401],g;main(){
    for(;b-c;)f[b++]=a/5;
    for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
        for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

然后我就试图分析这段代码到底是在干啥。

Read more »

大家好我是来除草的。

由于 Hexo 更新了导致 blog 莫名奇妙跪了,于是我就很久没有更新了。(其实就是懒了不想更新了。)

于是趁着这个五一假期顺手把 hexo 修复了一下。所谓的修复,就是推倒重来……于是干脆物色了一个新的主题。当前这个主题看起来还不错,NexT.Mist。 看起来非常干净,很适合我这种……只想吐槽不想写公式的人。

在修复的时候遇到的一个奇葩错误,hexo server 老是启动不来,我也不知道为什么。 根据不停的二分哪个文件的哪一行的哪几个字符,终于让我找到了:{ # 这两个字符似乎不能同时出现……

于是 hexo server 终于能跑起来了,但是 Disqus 莫名其妙跪了我也不知道为什么,我几乎什么都没改…… 修了一下失败了,我还是不知道为什么……于是弃疗了。 找到是什么问题了……disqus_url 这是个啥参数呀,我注释掉就好了 = =

寒假的时候写了个小网站,本来想着一个月妥妥的写完,后来发现自己还是 naive。 寒假写了一个月没写完,回到学校后继续写又写了一个月,勉强能用了,但是还是有一堆 bug 要修。 用的技术大概就是 Koa 作为后端,MongoDB 数据库,AngularJS 前端。界面用的是 SemanticUI, 感觉写起来挺爽的,就是查 API 真蛋疼。

然后在这个学期刚开学的时候,由于 Arch 一堆问题要修,于是我就修 qi 复 liao 了一发,直接装了 Ubuntu,所谓的新学期新技术嘛…… Firefox 也换成了 Chrome,装了几个小插件,用起来也感觉还行。 印象最深刻的是一个加空格的小插件,简直好用的无与伦比。 密码管理也换成了 LastPass 。以前写的那个无聊的 HMAC 虽然还在用,但只是用来做兼容的了。

最近出了啥 Visual Studio Code 我也来玩玩。说起来这是要变成码农了吗……我可是青年理论计算机科学家 →_→

说起来上个学期刚开学的时候陪同学去买笔记本,然后我也顺手买了一台……Thinkpad New X1C,轻倒是挺轻的,到处带着基本没问题。 续航的话刚买回来 6h,现在大概 5h 。重装一次系统应该又可以回来。 上个学期天天出去自习,还去罗姆楼刷了几次夜,所以电池充放次数几乎是一天一次。 这个学期又赖在寝室出不去了……然后我也懒得装 Linux 了,用的 Windows 8 也还算凑合。Listary 实在是太好用。

计算机科协的那个啥 vpn9 实在是良心。妈妈再也不用担心我的流量了……但是不知道为什么经常掉线…… 我现在的用法是 Win8 上装了一个 OpenVPN ,树莓派上也装了 OpenVPN 。 然后树莓派上跑一个 cow ,iPad、iPhone、老笔记本全部用 cow 做代理,这样默认就是走 vpn 了……

上学期期末的时候在玩 Portal ,回家后我老弟要玩,那就给他玩呗……结果……结果…… 结果上来就直接联机对战,找到了一个好老师,我当时就被他吓得目瞪口呆。 寒假的时候老弟有时候吃夜宵,于是我也顺带着吃夜宵,老弟给我煮面、煮馄饨、炒蛋炒饭,真是太幸福…… 然后现在在玩炉石……技术实在是菜的不忍直视都快弃疗了。

寒假的时候到外面讲了几天课,然后回学校讲课,现在讲课也讲不动了,出题都出不动了。心好累……反正现在有一些存款,就不急着去圈钱了…… 三月底的时候去师大附中讲了两天课,这应该是最后一次讲课了。然后这几天在给一个大学出 ACM 模拟题,也应该是我最后一次出题了。 以后应该就见不到我在这方面活动了。这一代终究要退去。 CTSC 懒得去出了,其实也没有好的 idea ,于是放弃了。明天 CTSC day1,祝 cyb 小朋友好运吧。

现在就安心的和 papa 一起搞搞 TCS,继续上个学期的课题。但是现在似乎到了瓶颈期,我的所有 idea 看起来都用光了…… 原来想和 clj 一起上 ATCS 的,发现和博弈论冲了我就没上了。看 clj 现在的样子我发现自己真是 naive,不知道何时才能追上去。Anyway……

最近一段发生了一些情感上的事,然后发现我自己真是一个玻璃心的妹子。想太多,猜太多,遇到啥事都要紧张半天。 心情经常 biu 的一下就糟糕的无以复加。Anyway,我并不认为这样太糟糕,我也不打算改,就这样吧。

这学期的数值分析准备和老师套磁一发,用课程报告翘期末。 我写的主题是 Toeplitz 矩阵,其实现在主要在写 Circulant 矩阵的一些性质,把高中学的 FFT 又可以写上去,简直爽。 老师给的模板是 Word,然后我就去和老师套磁改成了 TeX,但是 TeX 模板仍然蛋疼……算了我就用 ctex 默认模板好了。

我现在急需一发鸡血……罗老师不行了,罗老师要倒了……