0%

之前写过一篇游戏,介绍了几个我认为很有艺术感的游戏,这次聊的游戏更注重解谜,基本上都是一个作为核心玩法的小 puzzle,外加一堆小扩展(是不是太笼统了 = =)。至于这个 puzzle 难度如何……嗯……

Read more »

\(\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 »