Doghouse

In the Mood for Love

Back to top

麻将向听数拾遗

参考 九条可怜 大佬的 利用查表法求麻将向听数。过程中有一些数学证明省略了,在这里记录一下加深理解。说句题外话,大佬在知乎唯二的两篇文章,最新的一篇 大数快速取模魔法,和我当时做的关于伽罗华域(Galois Field, GF)的毕设简直不要太贴合。哎,我真是学艺不精。

原文主要是针对向听数计算和序列生成进行讲解的,本文主题亦如此。

0x01 向听数计算

对于大众麻将,包括日本麻将和国标麻将,不考虑特殊牌型(七对、十三幺、不靠等)基本的胡牌条件为:m 个面子加上 1 个对子,即可胡牌。为行文方便,将胡牌公式简单记为

3m+2

其中 3 代表面子,2 代表对子。结合麻将规则,容易知道对于能够胡牌的手牌总数 N,有

N \in \{2, 5, 8, 11, 14\}

牌效率理论定义了向听数(Syanten),指一副牌距离听牌状态最少还差几次打摸动作。0 向听 = 听牌,-1 向听 = 胡牌。若非特殊说明,下文所指的向听数皆为一般牌型的向听数。

对两张不同的牌 x, y 定义距离计算函数 D(x,y)

D(x,y) = \begin{cases} 0,  (x, y 为同种牌)\\ 1,  (x, y 为同种数牌,且数字差 = 1) \\ 2,  (x, y 为同种数牌,且数字差 = 2) \\ \infty,  (otherwise) \\ \end{cases}

根据 3m + 2 ,将牌组序列 tiles 分为两个部分:要凑成若干个面子的部分 tiles_{m},\ \sum tiles_{m}\ mod\ 3=0 和要凑成一对对子的部分 tiles_{p},\ \sum tiles_{p}=2。定义向听数计算函数 S(tiles)

919 0 3,840 9 m 36 s Read All

玩耍

跨年的那一刻,大家都嗨疯了。认识的不认识的人都挤在一起,随着音乐节拍在那里唱着跳着。嗨到深处了,服务员踩在吧台上,一瓶威士忌直接往下倒,下面的人张大嘴巴接着,周围发出一阵尖叫。我被人群挤了出来,突然感到一阵头晕,低头一看手表,心率 150 。我受不了了,赶忙穿过人群到酒吧外面透气。这时候手机振动了,张老师通过了我的好友请求。

From: 大垣(おおがき)
2022-01-01, 凌晨 00:07
我通过了你的验证请求,现在我们可以开始聊天了
新年快乐~
新年快乐!
刚才不知道你走了,出来找你找不到,才想着说加你问一下
哦哦,没事啊
我觉得我走了你们自在点
没有,大家都问你去哪了
我自己能照顾好自己
不想扫兴
你们玩开心点吧,这只是个小插曲
别放心上

我有点迷茫,不知道是我在追张老师,还是检测在追张老师。她没等自己的那一杯酒上来,就拎着包径直出去了。我赶紧示意检测跟出去,检测才后知后觉地起身。

后来听箱子说,当时她和 Yuri 在酒吧走道拍照,听到张老师和检测抱怨。张老师说她已经 30 岁的人了,受不了这种场合,觉得尴尬。而检测愣愣地站在旁边,一句话没有说。

295 0 396 59 s Read All

重新开始

最近在单曲循环回春丹乐队的一首歌,叫《正义》。里面歌词是这么唱的:

我买光所有的炸药 却
还是炸不掉 他
给你的碉堡 我
花光了金币 我
花光了权利 我
花光我仅有的正义

我反复听了很久,但自己跟着唱的时候,总是想不起「权利」这个词,总把「权利」唱成「精力」。回想起来,自己好像一直都在花钱和精力,却一直没有什么权利。

很多时候我希望自己像一滴水,有个引力一直在拉着我,从高处落下来,落在花朵上,落在叶子上,落在泥土里。然而更多时候我总是落在石头上,摔得支离破碎;又或者是落在溪流里,和别的水滴一起随波逐流,最后变成平庸的一份子。


从 6 月份说要重构博客说到现在,过去了差不多半年,博客终于算是勉强能用了。说起这个博客也是命途多舛,一开始的记录已经没有了,唯一留下的记录不过是底部版权信息里的起始年份。对于我这个重度三分钟热度患者来说,坚持写博客五年以上还如此费心费力,不知道无聊的究竟是我还是生活。

重构的大部分工作都是在近两周内完成的——在一堆破事追在屁股后面的情况下。原本我就是个受不得突如其来的压力的人。如果发生什么突发状况,我会变得很焦虑,我会想摆烂,然后捂住耳朵做自己喜欢做的事,任凭那堆破事追着 Deadline。仔细一想,也许这也是反抗生活的一种低级形式吧。

今天是 2021 年 12 月 2 日,网上都说今天是世界完全对称日。一大早醒来,发现太阳没有从西边升起来,地球没有停止自转,冬天也还是需要棉袄,楼上也没有停止跺脚。在烂透了的生活的夹缝里,总在寻找一丝渺茫的希望,希望操蛋的日子终会过去,然后重新开始。

633 0 567 1 m 25 s Read All

某 APP 付费视频解密

仅供信息安全学习,部分内容做了 * 替换

起因是在这个 APP 买的付费视频总会不定期清除,就想着下下来存着,以免之后找不到。一开始想着电脑开个模拟器录屏算了,但想想还是有点麻烦,干脆直接分析。

0x00 准备工作

  1. 雷电模拟器 4.0.43 32 位版本,64 位版本在我这里能运行,但登录 APP 失败
  2. 安装要破解的 APP
  3. 安装 Xposed 框架和 JustTrustMe 模块并开启
  4. 安装反射大师
  5. 安装终端模拟器
  6. 电脑安装 Fiddler4/Proxifier,配置 Fiddler4 Capture HTTPS CONNECTs;Proxifier 新增 Proxy 为 Fiddler4 的 Proxy,并新增 Rule:Applications 为 ld*.exe
  7. 安装 Frida,并将对应的 frida-server 放到模拟器上
  8. FFMpeg

1,652 13 2,170 5 m 25 s Read All

惜命

把电动车拉去加固车架了,顺便换镀银线。因为原车是带系统的,镀银线没有现货需要现做,而车子拆一次全车不容易,索性就放在店里三天,等镀银线到了一并装好。这意味着我三天没有电动车开,需要打车或是坐地铁上下班。

趁着五一假期上了 brembo 前后卡钳、平民版可调减震,感觉改装这条路差不多就毕业了。短短几天花掉了一万多,说不心痛都是假的。当然诚如改车小哥所说:所有我听到的「够了够了,改完这次不改了」,最后都还是妥协在了攀比和虚荣面前。这一次是否是我改车的终点我不得而知,但短时间内不会再改是肯定的了。

去改车的时候碰到一个比我还高还壮的高中生,带着他的壕车来修,据说是前一天晚上刚换上的南京远驱 841800,翘头还没翘了一小时就烧了。打开座桶一看,控制器把整个底座都占满了,一旁的空开比我手掌还大。小伙子打着电话跟他妈要钱,想要换新的控制器。旁边的朋友低声说了一句「细蚊仔」,而我只好奇这么大的空开究竟有没有用。犹记得上一次我开上 120 时速的时候想减速松了油门,只听见屁股底下「啪」的一声,车子直接失电开始滑行。不得已停在匝道汇入口的三角区,左边一部大车右边一部大车直接把我吓怕了,只好自己拆车把线搭上赶紧跑了。

那次以后什么零百加速什么地表飞行器对我来说都是虚的,作为未来十年内的代步车,最重要的还是安全性和舒适性,其次是续航和外观,最后才是速度。这和找女朋友是一样一样的,太野的非但驾驭不住,搞不好哪天把自己弄个遍体鳞伤都还是轻的。

386 0 548 1 m 22 s Read All

捅了皮条客窝了

上一次见到油万金还是在出差考察的时候。去之前油万金说:这个客户有个项目你们可以做。结果去了之后发现这个项目已经让别的厂商差不多做完了,于是整个下午都在陪跑。

晚上回到酒店想休息,一推门发现门缝地上全是性感小卡片。看着上面印着的清纯女学生、性感少妇我就气不打一处来,回想起一天的遭遇更是来气:就像是拉皮条的跟我说有个鸡超靓水超多,我兴冲冲推开房间门准备大干一场的时候,发现另一个嫖客都快射了,然后我站在旁边围观,听他和这个鸡嗯嗯啊啊的。

后来负责别的项目的同事说,当时也是和油万金同公司的人打交道,对方不让直接和业主见面,磨了老半天才勉强同意带我们去业主的地盘转转。对方的人开一个配电箱的时候,里面一个螺丝没拧紧,一下子掉在了两条电线裸露的触点上,顿时火花四溅,要是再靠近一点眼都瞎了。周围一群皮条客怔怔地看过来。还好不是同事开的门,不然他就得担责了。这真是大肉棒狂插油万金妈逼——捅了皮条客的窝了。后来同事说,去这种场合就要戴安全帽,就像被皮条客拉去嫖那必须要戴安全套,因为指不定要出什么事。

442 0 410 1 m 1 s Read All