<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>

        
        <follow_challenge>
            <feedId>1220645597317300224</feedId>
            <userId>1210541233919623168</userId>
        </follow_challenge>

        <title>技术 on 合荒小站</title>
        <link>https://hehuang.site/categories/%E6%8A%80%E6%9C%AF/</link>
        <description>Recent content in 技术 on 合荒小站</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-Hans</language>
        <copyright>Victor Rim</copyright>
        <lastBuildDate>Mon, 20 Jul 2026 13:30:00 +0800</lastBuildDate>
        <atom:link href="https://hehuang.site/categories/%E6%8A%80%E6%9C%AF/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>近期博客的一些更新</title>
            <link>https://hehuang.site/p/hehuangsite-update/</link>
            <pubDate>Mon, 20 Jul 2026 13:30:00 +0800</pubDate>

            <guid>https://hehuang.site/p/hehuangsite-update/</guid>

            <description>&lt;img src=&#34;https://hehuang.site/img/w17.webp&#34; alt=&#34;Featured image of post 近期博客的一些更新&#34; /&gt;&lt;p&gt;期末考完了，也爽玩了两天（也不能说爽玩，两天基本都在弄博客）&lt;/p&gt;&#xA;&lt;h2 id=&#34;换域名&#34;&gt;换域名&#xA;&lt;/h2&gt;&lt;p&gt;7月10日在 SpaceShip 买了 hehuangsite.top 这个域名，其实买的时候就已经有些不满意了，但是因为价格还是妥协了。&lt;/p&gt;&#xA;&lt;p&gt;然后7月18日就换了这个域名：&lt;/p&gt;&#xA;&lt;p&gt;换域名是个麻烦事，不是自己麻烦，是友链、博客组织他们麻烦……&lt;/p&gt;&#xA;&lt;p&gt;刚换完，我甚至觉得还不如原来的 ryqi.top 。&lt;/p&gt;&#xA;&lt;p&gt;然后 Leo 评论说：“重要的是喜欢。不然在自己不喜欢的域名上写文还是蛮不舒服的。”&lt;/p&gt;&#xA;&lt;p&gt;这句话太触动我了，&lt;strong&gt;与其贪图便宜买一个自己压根不喜欢的平替，为什么不狠下心买一个真正能让自己舒心的商品&lt;/strong&gt;——况且我的经济条件总体上是允许的。&lt;/p&gt;&#xA;&lt;p&gt;还有就是，我看到腾讯云上 hehuang.site 这个域名售价3年98元钱，比 SpaceShip 上3年140元钱要便宜，所以就果断下手了。&lt;/p&gt;&#xA;&lt;p&gt;不到6个小时，两度更改域名，这里给所有友链和博客组织说声抱歉！&lt;/p&gt;&#xA;&lt;p&gt;换域名是个不简单的事情，我的 RSS 订阅链接一直出错，一直指向的是 CloudFlare Pages 那个域名，我也忘记了我改了什么，全是由 ChatGPT 帮我完成的。&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;因为这个事还给 BlogsClub 工作人员添加了很多不必要的审核麻烦。&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;新域名就是很舒服，看得非常顺眼。&lt;/p&gt;&#xA;&lt;h2 id=&#34;更新主题&#34;&gt;更新主题&#xA;&lt;/h2&gt;&lt;p&gt;AIOVTUE博主一直在持续维护本主题。&lt;/p&gt;&#xA;&lt;p&gt;其实初代版本就很不错了，但是 AIOVTUE 还是很注重我反应的问题的，及时为我更新了迭代版本。&lt;/p&gt;&#xA;&lt;p&gt;AIOVTUE 主题也算得上是 HUGO 生态中上乘的一款主题了。&lt;/p&gt;&#xA;&lt;p&gt;更新的时候：有一次觉得 Signature 组件有点影响访问速度，然后就删，结果还出错了，删除的时候由于之前没备份，就非常惨了……所以博客要及时备份！&lt;/p&gt;&#xA;&lt;h2 id=&#34;增加友链朋友圈页面&#34;&gt;增加友链朋友圈页面&#xA;&lt;/h2&gt;&lt;p&gt;在静态博客中实现友链朋友圈有很多方式，最后在咨询 ChatGPT 时，他给了我下面的方案：&lt;/p&gt;&#xA;&lt;p&gt;建一个 GitHub 仓库 ➡️ 安装 RSS 解析库 ➡️ Cloudflare 创建 Worker ，绑定 GitHub 仓库➡️ CloudFlare 创建 D1 数据库 ➡️ CloudFlare 绑定 Worker 和 D1 ➡️ 添加 Cron 定时任务（每两小时抓取一次） ➡️ Hugo 前端设计&lt;/p&gt;&#xA;&lt;p&gt;整体下来，因为有 ChatGPT 给我写东西，指导我怎么做，所以还是很简单的.&lt;/p&gt;&#xA;&lt;p&gt;只是，好像有点问题，就是需要手动刷新，等有时间再改吧……&lt;/p&gt;&#xA;&lt;h2 id=&#34;增加装备页面&#34;&gt;增加装备页面&#xA;&lt;/h2&gt;&lt;p&gt;因为 AIOVTUE 主题的友链采用的是 data/links.yaml + links.md + _default/links.html ，所以我想到的方案是 data/goods.yaml + goods.md + _default/goods.html + 相关 CSS，后来在 ChatGPT 指导下， layout 一直不识别，就果断转换思路到利用 Shortcodes 。&lt;/p&gt;&#xA;&lt;p&gt;这个思路下来，非常成功，页面做得也不错。&lt;/p&gt;&#xA;&lt;p&gt;趁机加上了羽球装备，让装备不局限于数码装备。&lt;/p&gt;&#xA;&lt;h2 id=&#34;改造-footer&#34;&gt;改造 footer&#xA;&lt;/h2&gt;&lt;p&gt;把 footer 改了一下，最终效果倒是挺好，实用性的话就有点一般了：&lt;/p&gt;&#xA;&lt;p&gt;原本我在用 Stack 主题时，我采用的是彩色方块方式来装饰我的 footer ，&lt;/p&gt;&#xA;&lt;p&gt;而现在我把三家的博客穿梭功能改为文字了，倒是很美观，只是不仔细看就挺难看到的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;umami&#34;&gt;Umami&#xA;&lt;/h2&gt;&lt;p&gt;之前我一直在用 Umami Cloud ，现在我突然觉得我得发挥出我域名的最大价值，&lt;/p&gt;&#xA;&lt;p&gt;为了绑定 umami.hehuang.site 这个域名，不得已选择了用 Vercel 进行部署，没看出来自己部署和用 Umami Cloud 有啥区别……&lt;/p&gt;&#xA;&lt;h2 id=&#34;更新-twikoo-后端&#34;&gt;更新 Twikoo 后端&#xA;&lt;/h2&gt;&lt;p&gt;我之前的 Twikoo 后端是 1.6.44 版本，但是 AIOVTUE 主题所用的 Twikoo 前端版本是 1.7.12 版本，正好这几天没事，就去 Vercel 更新了一下。&lt;/p&gt;&#xA;&lt;p&gt;但是我还是踩了个坑：我以为官方说的 package.json 是根目录下的，结果人家是 /src/server/vercel/package.json 这个文件，害得我改了半天，一点反应都没有。&lt;/p&gt;&#xA;&lt;h2 id=&#34;对主题的其它魔改&#34;&gt;对主题的其它魔改&#xA;&lt;/h2&gt;&lt;p&gt;做了一些小的修改，为了让主题更适合我，有些零碎就不说了：&lt;/p&gt;&#xA;&lt;p&gt;大概就是比如 RSS 不抓取非 posts 文件夹的内容之类的……&lt;/p&gt;&#xA;&lt;h2 id=&#34;最后&#34;&gt;最后&#xA;&lt;/h2&gt;&lt;p&gt;这些魔改几乎都是 ChatGPT 帮我实际落地完成的，真是科技改变生活，要放以前，光这些内容我就得研究一个暑假了……&lt;/p&gt;&#xA;&lt;p&gt;明天就是周一了，我也得开启正常的假期生活了。&lt;/p&gt;&#xA;&lt;p&gt;从周五中午放学，一直到周日晚上，我把我狂欢的三天假期全风险给博客了。&lt;/p&gt;&#xA;&lt;p&gt;博客主题暂时不动了，然后剩下的假期就是更新文章了……&lt;/p&gt;&#xA;</description>

        </item>
        <item>
            <title>给博客换了个主题</title>
            <link>https://hehuang.site/p/hugo-theme-change/</link>
            <pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>

            <guid>https://hehuang.site/p/hugo-theme-change/</guid>

            <description>&lt;img src=&#34;https://hehuang.site/img/w12.webp&#34; alt=&#34;Featured image of post 给博客换了个主题&#34; /&gt;&lt;p&gt;Hugo 上好看的主题其实挺少的，但是我实在喜欢 Hugo ，主要是构建速度是真的快，以至于早些时候，我都不愿意用本地预览，就直接推送再看。&lt;/p&gt;&#xA;&lt;p&gt;我那时候选择的主题是很火的一款 Stack ，壳子其实挺好，但太简洁了，于是在网上阅读教程，用了很多 CSS ，但还是差强人意。&lt;/p&gt;&#xA;&lt;p&gt;昨天晚上，翻阅知乎，偶然间看到一个很好看的 Hugo 主题，比较心动，就换了这个主题。&lt;/p&gt;&#xA;&lt;p&gt;主题下载链接：&lt;a class=&#34;link&#34; href=&#34;https://github.com/AIOVTUE/hugo-theme-aiovtue&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;AIOVTUE/hugo-theme-aiovtue: 一个hugo的现代化主题，参考sakura和butterfly&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;主题是挺好看的，功能也还可以，我是很满意。&lt;/p&gt;&#xA;&lt;p&gt;换的时候吧，我其实没换过主题，大概看了看教程，有点心烦意乱了，就从新建了一个GitHub库，其实算重新弄了个博客了……&lt;/p&gt;&#xA;&lt;p&gt;然后改了改基本信息，总共其实也没花多少时间。&lt;/p&gt;&#xA;&lt;p&gt;旧站暂时保留一段时间，给了旧站一个 blog.ryqi.top的域名。新站继承了原来的域名是 ryqi.top 和 &lt;a class=&#34;link&#34; href=&#34;https://www.ryqi.top&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;www.ryqi.top&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;新站上保留了部分旧站大部分文章，使得网站更为整洁。更新了“关于”界面。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;主要碰见的几个问题：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;1.现在我原来的文章 URL 是 /p/xxx 格式，而这个主题 URL 是 /page/xxx 格式，为了尽可能地简单些和保留之前的评论，我特意在每个文章头部都用了原来的 URL 。&lt;/p&gt;&#xA;&lt;p&gt;2.BlogsClub 上我所有文章指向全指向了我的旧站，然后我把我所有的文章链接全改了。&lt;/p&gt;&#xA;&lt;p&gt;3.然后我本地 HUGO 版本太高了，然后 CF 上的 HUGO 版本太低了，导致我为了让 CF 正常部署，不得不用旧命令，然后每次在本地推送总会出现一些 WARNING&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;等有时间要弄的几个方面：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;1.友链界面很不喜欢，感觉不如我以前用 same.new AI做的那个界面，等有时间改改。&lt;/p&gt;&#xA;&lt;p&gt;2.页脚界面暂时没弄，打算放几个博客穿梭。&lt;/p&gt;&#xA;&lt;p&gt;3.原来的好物界面移植并更新。&lt;/p&gt;&#xA;&lt;p&gt;4.完善 MATH 功能，初步观察，这个主题好像不带 MATH 功能欸，我目前《贝叶斯、1000次模拟：彻底搞懂三门问题》这篇文章的数学公式成文本了。&lt;/p&gt;&#xA;&lt;p&gt;5.字体稍微有点小，其实对于我这属于正常大小的字体，但我知道这确实太小了，旧站的字还有点大。&lt;/p&gt;&#xA;&lt;p&gt;6.善于运用 MEMOS ，有的时候有的事能说，但写长文章没法写，这时候就得用这是说说了，之前用过一段时间 MEMOS ，但是有点难用说实话，再看看。&lt;/p&gt;&#xA;&lt;p&gt;7.等有时间弄个图床，现在所有图片都托管在本地，有点影响访问速度和我的空间，尤其还上架了个相册。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;行了，就这些， Hugo 其实是那种笔记博客，不适合这么花里胡哨，但我年轻啊，就是喜欢这些花里胡哨🤣&lt;/strong&gt;&lt;/p&gt;&#xA;</description>

        </item>
        <item>
            <title>GitHub Education Benefits 认证又又又失败了</title>
            <link>https://hehuang.site/p/github-education-benefits/</link>
            <pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate>

            <guid>https://hehuang.site/p/github-education-benefits/</guid>

            <description>&lt;img src=&#34;https://hehuang.site/img/w4.webp&#34; alt=&#34;Featured image of post GitHub Education Benefits 认证又又又失败了&#34; /&gt;&lt;p&gt;去年，我在我一个一中朋友那里听到，高中生凭学生证也能认证。我今年在2月份和五一假期折腾了几次，均未成功。&lt;/p&gt;&#xA;&lt;h2 id=&#34;官方邮件&#34;&gt;官方邮件&#xA;&lt;/h2&gt;&lt;p&gt;很遗憾，我们无法根据您在 2026 年 5 月 2 日提交的关于 @renvictor855 的信息来验证您的学术隶属关系。&lt;/p&gt;&#xA;&lt;p&gt;· 请确保您的学术身份证明文件中的姓氏与您 GitHub 账单信息中的姓氏完全一致。如果您只有一个法定姓名，请在 GitHub 账单信息的“名字”和“姓氏”栏中都填写该姓名。&lt;/p&gt;&#xA;&lt;p&gt;· 您选择的图片似乎不包含您的学校名称。您的文件中必须包含完整的学校名称，而不仅仅是学校标志。您可以同时上传多个文件。如果您的官方文件不是英文的，您可以将原件与英文翻译件一起拍照。&lt;/p&gt;&#xA;&lt;p&gt;· 请确保您的学术身份证明文件中的姓名与您 GitHub 账单信息中的姓名完全一致。姓名变体和昵称均不接受。&lt;/p&gt;&#xA;&lt;p&gt;· 您必须使用与学术机构证明文件上完全一致的姓名完善 GitHub 用户个人资料，才能通过验证。请勿使用姓名变体或昵称。更新个人资料信息后，请先退出 GitHub 并重新登录，然后再重新申请。&lt;/p&gt;&#xA;&lt;h2 id=&#34;我的申请资料&#34;&gt;我的申请资料&#xA;&lt;/h2&gt;&lt;p&gt;我的 Billing information ：&lt;/p&gt;&#xA;&lt;p&gt;First name : Yuqi&lt;/p&gt;&#xA;&lt;p&gt;Last name : Ren&lt;/p&gt;&#xA;&lt;p&gt;Address (Street, P.O. box) : No. 102 Jiangcheng Street&lt;/p&gt;&#xA;&lt;p&gt;Address line 2 (Apartment, suite, unit) : Jilin Yuwen High School&lt;/p&gt;&#xA;&lt;p&gt;City : Jilin City&lt;/p&gt;&#xA;&lt;p&gt;Country/Region : China&lt;/p&gt;&#xA;&lt;p&gt;State/Province : Jilin Province&lt;/p&gt;&#xA;&lt;p&gt;Postal/Zip code (9-digit zip code for US) : 132011&lt;/p&gt;&#xA;&lt;p&gt;我的 Billing information 是用英语写的，但我的学生证是中文，他的意思让我弄一个学生证翻译，问题是它压根不允许上传多张照片啊，我也不知道咋弄了。然后学生证上没特意写学校名称，但有学校学生处盖的公章。&lt;/p&gt;&#xA;&lt;div style=&#34;text-align: center;&#34;&gt;&#xA;  &lt;img src=&#34;https://hehuang.site/img/student.webp&#34; alt=&#34;学生证&#34;&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;申请好麻烦……&lt;/p&gt;&#xA;</description>

        </item>
        <item>
            <title>贝叶斯、1000次模拟：彻底搞懂三门问题</title>
            <link>https://hehuang.site/p/monty-hall-probability-simulation/</link>
            <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>

            <guid>https://hehuang.site/p/monty-hall-probability-simulation/</guid>

            <description>&lt;img src=&#34;https://hehuang.site/img/w3.webp&#34; alt=&#34;Featured image of post 贝叶斯、1000次模拟：彻底搞懂三门问题&#34; /&gt;&lt;p&gt;这是个很出名的问题：&lt;/p&gt;&#xA;&lt;p&gt;假设你正在参加一个游戏节目，你被要求在三扇门中选择一扇：其中一扇后面有一辆车；其余两扇后面则是山羊。你选择了一道门，假设是一号门，然后知道门后面有什么的主持人，开启了另一扇后面有山羊的门，假设是三号门。他然后问你：&lt;/p&gt;&#xA;&lt;p&gt;“你想选择二号门吗？”&lt;/p&gt;&#xA;&lt;p&gt;转换你的选择对你来说是一种优势吗？&lt;/p&gt;&#xA;&lt;p&gt;从直觉上来看，几乎所有人都会觉得最后都是 $1/2$ 的概率，没有区别，实则不然。&lt;/p&gt;&#xA;&lt;p&gt;正好我们数学学到全概率和贝叶斯那块的时候，我们数学老师出的这个问题，用全概率和贝叶斯来解答。&lt;/p&gt;&#xA;&lt;h2 id=&#34;用概率解决问题&#34;&gt;用概率解决问题&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;设事件 A = 汽车在 1 号门，事件 B = 汽车在 2 号门，事件 C = 汽车在 3 号门，则：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;$$&#xA;P(A)=P(B)=P(C)=\frac{1}{3}&#xA;$$&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;设事件 D = 主持人打开了 2 号门。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;事件 D 的全概率：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;$$&#xA;P(D)=P(D|A)P(A)+P(D|B)P(B)+P(D|C)P(C)&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;=\frac{1}{2}\cdot\frac{1}{3}+0+\frac{1}{3}&#xA;=\frac{1}{2}&#xA;$$&lt;/p&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&lt;strong&gt;贝叶斯：&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;$$&#xA;P(A|D)=\frac{P(D|A)P(A)}{P(D)}&#xA;=\frac{1}{3}&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;P(C|D)=\frac{P(D|C)P(C)}{P(D)}&#xA;=\frac{2}{3}&#xA;$$&lt;/p&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;&lt;strong&gt;结论：&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;不换：$1/3$ 概率&lt;/li&gt;&#xA;&lt;li&gt;换：$2/3$ 概率&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;用频率估计概率&#34;&gt;用频率估计概率&#xA;&lt;/h2&gt;&lt;p&gt;虽然用全概率和贝叶斯推导出了换门的概率更大，但感觉还是有些反常识。&lt;/p&gt;&#xA;&lt;p&gt;接下来模拟 1000 次来看一下实际情况，用频率来估计概率。&lt;/p&gt;&#xA;&lt;p&gt;用 Python 编写一个小程序：&lt;/p&gt;&#xA;&lt;p&gt;第一步：定义 &lt;code&gt;values=[0,0,1]&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;第二步：随机在三个门中选择一个作为初始选择。&lt;/p&gt;&#xA;&lt;p&gt;第三步：主持人打开剩余门中的一个山羊门。&lt;/p&gt;&#xA;&lt;p&gt;第四步：记录坚持选择和转换选择的结果。&lt;/p&gt;&#xA;&lt;p&gt;第五步：重复 1000 次，然后计算两种策略的胜率。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;random&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;q_results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;v_results&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 定义三个门，其中1代表汽车，0代表山羊&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;values&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;random&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;shuffle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;containers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s2&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;values&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 随机选择一扇门&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Q_name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;random&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;choice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;A&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;B&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;])&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Q_value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;containers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Q_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 找到剩余的两个门&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;remaining&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;containers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Q_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;remaining&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;val&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;remaining_names&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;list&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;remaining&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;())&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 主持人打开一扇山羊门&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;zero_containers&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remaining_names&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remaining&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;zero_containers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;N_name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;random&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;choice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;zero_containers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 剩下的门就是转换后的选择&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remaining_names&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;N_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;V_value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;remaining&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 记录结果&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;q_results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Q_value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;v_results&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;V_value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Q_total&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;q_results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;V_total&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v_results&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;坚持选择赢了 &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Q_total&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; 次，转换选择赢了 &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;V_total&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; 次&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;输出结果：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;选择策略&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;命中概率 (理论值)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;模拟命中次数 (n=1000)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;实际概率&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;坚持初始选择 (Q)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;$1/3 \approx 33.3%$&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;317&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;31.7 %&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;转换选择 (V)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;$2/3 \approx 66.7%$&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;683&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;68.3 %&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;为什么会有直觉上的错误&#34;&gt;为什么会有直觉上的错误&#xA;&lt;/h2&gt;&lt;p&gt;我们主要忽视了一点：&lt;/p&gt;&#xA;&lt;p&gt;主持人并不是随机开门，而是知道答案后主动排除错误选项。&lt;/p&gt;&#xA;&lt;p&gt;当你选定一扇门后，你手里的概率只有：&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;\frac{1}{3}&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;而剩余两扇门整体拥有：&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;\frac{2}{3}&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;的概率。&lt;/p&gt;&#xA;&lt;p&gt;主持人帮你剔除掉剩下的门中那个错误的，相当于把原本属于剩余两扇门的 $2/3$ 概率集中到了最后那一扇门上。&lt;/p&gt;&#xA;&lt;p&gt;所以，换门本质上是：&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;用自己手里的 $1/3$，换取剩余区域中的 $2/3$。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;这个其实很不好理解，大部分网上博主也是这种讲述方法。&lt;/p&gt;&#xA;&lt;p&gt;相比之下，用贝叶斯公式进行计算，会更加严谨。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;em&gt;翻车现场&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;这个问题毕竟只是概率问题。&lt;/p&gt;&#xA;&lt;p&gt;当模拟次数少的时候，结果有时候很难体现理论概率。&lt;/p&gt;&#xA;&lt;p&gt;我们数学老师还做了一个现场版的演示：&lt;/p&gt;&#xA;&lt;p&gt;他事先准备了三个小盒子，里面分别装着 1 毛硬币、1 毛硬币、5 毛硬币。&lt;/p&gt;&#xA;&lt;p&gt;然后我们选择一个盒子，再决定是否交换。&lt;/p&gt;&#xA;&lt;p&gt;结果最后没有换，反而中奖了……&lt;/p&gt;&#xA;&lt;p&gt;这也说明了：&lt;/p&gt;&#xA;&lt;p&gt;概率描述的是长期规律，而一次实验的结果仍然具有随机性。&lt;/p&gt;&#xA;</description>

        </item>
        <item>
            <title>Twikoo 评论系统的邮件回复报错终于解决了</title>
            <link>https://hehuang.site/p/twikoo-debug/</link>
            <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>

            <guid>https://hehuang.site/p/twikoo-debug/</guid>

            <description>&lt;img src=&#34;https://thirdshire.com/twikoo-tutorial/twikoo_logo.png&#34; alt=&#34;Featured image of post Twikoo 评论系统的邮件回复报错终于解决了&#34; /&gt;&lt;p&gt;我采用的是 Hugo 框架搭建博客，然后采用 Twikoo + MongoDB + Vercel 的经典模式部署。&lt;/p&gt;&#xA;&lt;p&gt;我的 SENDER_EMAIL 和 SMTP_USER 还有 BLOGGER_EMAIL 用的都是 QQ 邮箱。并且使用 Twikoo 设置中的邮件测试功能，可以发现能正常发送邮件。&lt;/p&gt;&#xA;&lt;p&gt;但在实际过程中我用这个 QQ 邮箱进行回复，并不会有提醒。&lt;/p&gt;&#xA;&lt;p&gt;我一直以为是我的 SMTP 部署的问题。&lt;/p&gt;&#xA;&lt;p&gt;但我今天去看了我的 Vercel ，发现日志一个[warning]一个[error]：&lt;/p&gt;&#xA;&lt;p&gt;2026-03-21 10:52:41.649 [warning] 3/21/2026, 10:52:41 AM Twikoo: 获取 QQ 头像失败：status: 404&#xA;2026-03-21 10:52:41.936 [error] 3/21/2026, 10:52:41 AM Twikoo: POST_SUBMIT 失败 Request failed with status code 401&lt;/p&gt;&#xA;&lt;p&gt;401是无法确认博主身份，然后我上网才知道解决方案：关闭 Vercel 项目的认证保护就行了。&lt;/p&gt;&#xA;&lt;p&gt;关闭完事后，也是终于解决了~&lt;/p&gt;&#xA;&lt;p&gt;所以说之前不是说我不回复你们，是真的没有邮件提醒┭┮﹏┭┮&lt;/p&gt;&#xA;</description>

        </item>
        <item>
            <title>浅谈我的 AI 工具：从生产力到创意设计的全方位实战分享</title>
            <link>https://hehuang.site/p/my-ai-tools-list/</link>
            <pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate>

            <guid>https://hehuang.site/p/my-ai-tools-list/</guid>

            <description>&lt;img src=&#34;https://hehuang.site/img/ai2.webp&#34; alt=&#34;Featured image of post 浅谈我的 AI 工具：从生产力到创意设计的全方位实战分享&#34; /&gt;&lt;p&gt;市面上主流的 AI 产品我几乎都在使用，简单谈谈我是如何使用 AI 的。&lt;/p&gt;&#xA;&lt;p&gt;这些 AI 只有 Google Gemini 我有学生会员，所以是 Google Gemini 3 Pro ，其余均是免费版模型。&lt;/p&gt;&#xA;&lt;h2 id=&#34;google-gemini&#34;&gt;Google Gemini&#xA;&lt;/h2&gt;&lt;p&gt;这是我最爱的 AI 软件，但是我并不经常使用它，原因是它对魔法要求极高，我 Android 端显示在此国家/地区无法使用 Gemini。我一般实在电脑端使用，目前主要承担的是一些报错分析，代码编写与优化的工作。&lt;/p&gt;&#xA;&lt;p&gt;这方面工作我认为 Gemini 3 Flash 比 ChatGPT 5 要好一些（纯个人感觉）。&lt;/p&gt;&#xA;&lt;p&gt;但是毕竟是 AI ，很多时候它不能准确领悟人的意思，这样就得不断优化提示词，还有就是得学会看注释写代码。&lt;/p&gt;&#xA;&lt;h2 id=&#34;microsoft-copilot&#34;&gt;Microsoft Copilot&#xA;&lt;/h2&gt;&lt;p&gt;这是我 Windows 端常使用的一款 AI ，主要是它直接集成在 Win 11 系统和 Edge 浏览器当中，使用起来还算方便，具有快捷指令，一呼即到。&lt;/p&gt;&#xA;&lt;p&gt;Copilot 也是一款基于 ChatGPT 5 的 AI 模型，平常主要处理一些机械类型简单工作，例如“给&amp;rsquo;张三114514&amp;rsquo;进行分离文本”之类的，方便快捷。&lt;/p&gt;&#xA;&lt;p&gt;之前承担过我一些代码方面工作，但是总是写的很玄乎，甚至出现过两块代码块相互矛盾的情况，所以我就弃用了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;microsoft-365-copilot&#34;&gt;Microsoft 365 Copilot&#xA;&lt;/h2&gt;&lt;p&gt;这也是 Microsoft 公司出品的一款 AI 工具，我之前买了 Microsoft 365 家庭版，所以自带这个工具，其实多数情况不如 普通 Copilot ，但是它可以直接生成 PPT 等文件，还算不错。&lt;/p&gt;&#xA;&lt;h2 id=&#34;github-copilot-chat&#34;&gt;GitHub Copilot Chat&#xA;&lt;/h2&gt;&lt;p&gt;GitHub 早已经被 Microsoft 收购，这款 AI 工具也是 Microsoft 公司出品的，但是它能选择更多的模型，像 ChatGPT 、 Gemini 、 Grok 都能选择。&lt;/p&gt;&#xA;&lt;p&gt;目前主要承担我在 GitHub 找开源项目这一个工作，暂时没有在 VS Code 中使用过。&lt;/p&gt;&#xA;&lt;h2 id=&#34;openai-chatgpt&#34;&gt;OpenAI ChatGPT&#xA;&lt;/h2&gt;&lt;p&gt;我早在 2022 年就用过 ChatGPT ，当时还在用免费魔法，魔法不稳定所以使用的机会并不多，但是把我深深吸引了，现在的话， ChatGPT 我觉得是吝啬的，不如 Gemini 那样慷慨。&lt;/p&gt;&#xA;&lt;p&gt;目前主要是手机端在用，使用的很杂，主要就是当作一款查询海外资料的 Search Engine ？&lt;/p&gt;&#xA;&lt;p&gt;答题的话，我觉得还是准的，我曾经试过将一道物理题投喂给 ChatGPT 等4款 AI ，综合来看， ChatGPT是准确率和速度上最优秀的一款 AI 工具。&lt;/p&gt;&#xA;&lt;h2 id=&#34;deepseek&#34;&gt;DeepSeek&#xA;&lt;/h2&gt;&lt;p&gt;这是让我又爱又恨的一款 AI ，刚出炉的时候，我放弃使用了一贯使用的 Kimi ，转向 DeepSeek 的怀抱，但是随着使用发现它信息造假问题极为严重，包括创造性引用本不存在的内容等，开启深度思考，思考深度不够优秀且领略不到我的意思，不开启深度思考，速度也不够优秀，至少在我这，它不是一款合格的 AI 工具。&lt;/p&gt;&#xA;&lt;p&gt;我目前主要使用它来做一些数据分析和概率分析，这类复杂问题处理的准确率还算很高。&lt;/p&gt;&#xA;&lt;p&gt;但是不得不说， DeepSeek 彻底打破了 AI 领域被 ChatGPT 和 Gemini 垄断的局面，这点就不得不给 DeepSeek 点赞。&lt;/p&gt;&#xA;&lt;h2 id=&#34;grok&#34;&gt;Grok&#xA;&lt;/h2&gt;&lt;p&gt;这是马斯克号称全球算力最高的 AI 工具，但是实际用起来，并没有什么感觉，最大的感觉就是它非常中立，在别家 AI 还在“抱歉，我无法回答你这个问题”和带有明显情感色彩回答问题时， Grok 是我感觉最中立的 AI 。&lt;/p&gt;&#xA;&lt;p&gt;我目前没有大规模使用它，主要就是问一些敏感话题。&lt;/p&gt;&#xA;&lt;h2 id=&#34;字节跳动-豆包&#34;&gt;字节跳动 豆包&#xA;&lt;/h2&gt;&lt;p&gt;我用豆包的时间并不长，但是它是我近期使用频率明显增加的一款 AI 。最早用豆包主要是完成 Miss Yu 的英语作业而用，其实效果并不是很好，但是相比于别家 AI 已经很好了。但是我发现在中国大陆来看，豆包算是非常优秀的 AI 软件了。&lt;/p&gt;&#xA;&lt;p&gt;我目前使用豆包主要生成一些图片（我博客的插图有些就是豆包生成），还有就是做文科类型的工作，目前有意向将我 Kimi 的工作移交给豆包。&lt;/p&gt;&#xA;&lt;h2 id=&#34;kimi&#34;&gt;Kimi&#xA;&lt;/h2&gt;&lt;p&gt;这是我使用的第二款 AI （国内 AI 第一款），这个 AI 最近也是愈发吝啬，还有近期访问并不稳定。&lt;/p&gt;&#xA;&lt;p&gt;我目前使用 Kimi 还算很多，主要承担 Search Engine 工作，还有制作 PPT 工作！我《江城子》 PPT 就是靠 Kimi 和 Microsoft 365 Copilot 共同完成，虽然内容多数靠我重新完善。&lt;/p&gt;&#xA;&lt;h2 id=&#34;anthropic-claude&#34;&gt;Anthropic Claude&#xA;&lt;/h2&gt;&lt;p&gt;Claude 绝对是一款优秀的 AI 工具，只是免费版给的还是太少了，你可以用中文提问，它也可以用中文回答，但是它的页面不支持中文，它的文案水平是我目前来看最好的，比豆包还好（无论中英文）！&lt;/p&gt;&#xA;&lt;p&gt;它的代码编写水平也很好，但是我还没有试过，有机会看看。&lt;/p&gt;&#xA;&lt;p&gt;我目前使用 Claude 主要完成一些文案书写，但是并没有应用到我的博客，我博客文章全部是非 AI 创作（ Not By AI）。&lt;/p&gt;&#xA;&lt;h2 id=&#34;其余&#34;&gt;其余&#xA;&lt;/h2&gt;&lt;p&gt;像腾讯元宝、千问 AI 等等，我没有大规模使用，就不赘述了&lt;/p&gt;&#xA;&lt;h2 id=&#34;合荒颁奖典礼&#34;&gt;合荒颁奖典礼&#xA;&lt;/h2&gt;&lt;h3 id=&#34;全能型-ai-工具&#34;&gt;全能型 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： Google Gemini ； 银奖： OpenAI ChatGPT ； 铜奖： 字节跳动 豆包&lt;/p&gt;&#xA;&lt;h3 id=&#34;文字型-ai-工具&#34;&gt;文字型 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： Anthropic Claude&lt;/p&gt;&#xA;&lt;h3 id=&#34;代码型-ai-工具&#34;&gt;代码型 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： Google Gemini ； 银奖： Anthropic Claude ；铜奖： OpenAI ChatGPT&lt;/p&gt;&#xA;&lt;h3 id=&#34;中国大陆-ai-工具&#34;&gt;中国大陆 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： 字节跳动 豆包 ； 银奖： DeepSeek ； 铜奖： Kimi&lt;/p&gt;&#xA;&lt;h3 id=&#34;系统级-ai-工具&#34;&gt;系统级 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： Microsoft Copilot&lt;/p&gt;&#xA;&lt;h3 id=&#34;客观中立-ai-工具&#34;&gt;客观中立 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;金奖： Grok&lt;/p&gt;&#xA;&lt;h3 id=&#34;其它-ai-工具&#34;&gt;其它 AI 工具&#xA;&lt;/h3&gt;&lt;p&gt;还有很多好用的 AI 工具，例如： same.new 之类的，就是有些小众 + 使用的不多……&lt;/p&gt;&#xA;&lt;h2 id=&#34;ai-对我的影响&#34;&gt;AI 对我的影响&#xA;&lt;/h2&gt;&lt;p&gt;AI 时代，它最大的好处就是节省时间，以前一个报错信息，我得花 10 天、半个月解决，现在有 AI ，不到半天就能解决。&lt;/p&gt;&#xA;&lt;p&gt;还有就是 Search Engine ，我现在几乎不再在手机上使用浏览器，AI 给我的信息虽然局限，但也够用，主要是节省时间。&lt;/p&gt;&#xA;</description>

        </item>

    </channel>
</rss>